New NOTIFY system call! Queued at kernel. Duplicate messages (with same source
and type) are overwritten with newer flags/ arguments. The interface from within the kernel is lock_notify(). User processes can make a system call with notify(). NOTIFY fully replaces the old notification mechanism.
This commit is contained in:
@@ -33,12 +33,6 @@ struct proc {
|
||||
|
||||
proc_nr_t p_nr; /* number of this process (for fast access) */
|
||||
|
||||
notify_mask_t p_ntf_blocked; /* bit mask for blocked notifications */
|
||||
notify_mask_t p_ntf_held; /* bit mask for held up notify() calls */
|
||||
struct proc *p_ntf_nextheld; /* next in chain of held-up int processes */
|
||||
|
||||
struct notification *p_ntf_q; /* queue of pending notifications */
|
||||
|
||||
int p_flags; /* SENDING, RECEIVING, etc. */
|
||||
struct mem_map p_memmap[NR_LOCAL_SEGS]; /* local memory map (T, D, S) */
|
||||
struct far_mem p_farmem[NR_REMOTE_SEGS]; /* remote memory map */
|
||||
@@ -61,6 +55,8 @@ struct proc {
|
||||
int p_getfrom; /* from whom does process want to receive? */
|
||||
int p_sendto; /* to whom does process want to send? */
|
||||
|
||||
struct notification *p_ntf_q; /* queue of pending notifications */
|
||||
|
||||
struct proc *p_nextready; /* pointer to next ready process */
|
||||
sigset_t p_pending; /* bit map for pending signals */
|
||||
unsigned p_pendcount; /* count of pending and unfinished signals */
|
||||
|
||||
Reference in New Issue
Block a user