home *** CD-ROM | disk | FTP | other *** search
-
-
-
- SSSSIIIIGGGGPPPPAAAAUUUUSSSSEEEE((((3333BBBB)))) SSSSIIIIGGGGPPPPAAAAUUUUSSSSEEEE((((3333BBBB))))
-
-
-
- NNNNAAAAMMMMEEEE
- sigpause - atomically release blocked signals and wait for interrupt
- (4.3BSD)
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- ####iiiinnnncccclllluuuuddddeeee <<<<ssssiiiiggggnnnnaaaallll....hhhh>>>>
-
- iiiinnnntttt ssssiiiiggggppppaaaauuuusssseeee((((iiiinnnntttt mmmmaaaasssskkkk))));;;;
-
- mmmmaaaasssskkkk ==== ssssiiiiggggmmmmaaaasssskkkk((((iiiinnnntttt ssssiiiiggggnnnnuuuummmm))));;;;
-
- To use any of the BSD signal routines (_k_i_l_l(3B), _k_i_l_l_p_g(3B),
- _s_i_g_b_l_o_c_k(3B), _s_i_g_n_a_l(3B), _s_i_g_p_a_u_s_e(3B), _s_i_g_s_e_t_m_a_s_k(3B), _s_i_g_s_t_a_c_k(2B),
- _s_i_g_v_e_c(3B)) you must either
-
- 1) #define ____BBBBSSSSDDDD____SSSSIIIIGGGGNNNNAAAALLLLSSSS or ____BBBBSSSSDDDD____CCCCOOOOMMMMPPPPAAAATTTT before including <_s_i_g_n_a_l._h>, or
-
- 2) specify one of them in the compile command or makefile:
-
- cc -D_BSD_SIGNALS -o prog prog.c
-
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- _s_i_g_p_a_u_s_e assigns _m_a_s_k to the set of masked signals and then waits for a
- signal to arrive; upon return the original set of masked signals is
- restored after executing the handler(s) (if any) installed for the
- awakening signal(s). _m_a_s_k is usually 0 to indicate that no signals are
- now to be blocked. The macro _s_i_g_m_a_s_k is provided to construct the mask
- for a given signal number. _S_i_g_p_a_u_s_e always terminates by being
- interrupted, returning -1 with the global integer _e_r_r_n_o set to EEEEIIIINNNNTTTTRRRR.
-
- In normal usage, a signal is blocked using _s_i_g_b_l_o_c_k(3B), to begin a
- critical section, variables modified on the occurrence of the signal are
- examined to determine that there is no work to be done, and the process
- pauses awaiting work by using _s_i_g_p_a_u_s_e with the mask returned by
- _s_i_g_b_l_o_c_k.
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- sigblock(3B), sigvec(3B), signal(5).
-
- CCCCAAAAVVVVEEEEAAAATTTTSSSS ((((IIIIRRRRIIIIXXXX))))
- Because 4.3BSD and System V both have _s_i_g_p_a_u_s_e system calls, programs
- using 4.3BSD's version are actually executing _B_S_D_s_i_g_p_a_u_s_e. This is
- transparent to the programmer except when attempting to set breakpoints
- in ddddbbbbxxxx; the breakpoint must be set at _B_S_D_s_i_g_p_a_u_s_e.
-
- WWWWAAAARRRRNNNNIIIINNNNGGGG ((((IIIIRRRRIIIIXXXX))))
- The 4.3BSD and System V signal facilities have different semantics.
- Using both facilities in the same program is ssssttttrrrroooonnnnggggllllyyyy ddddiiiissssccccoooouuuurrrraaaaggggeeeedddd and
- will result in unpredictable behavior.
-
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-