source
sysutil.c
line
124 - 149
function
124 void
125 vsf_sysutil_check_pending_actions(
126 const enum EVSFSysUtilInterruptContext context, int retval, int fd)
127 {
128 unsigned int i;
129 /* Check the i/o handler before the signal handlers */
130 if (s_io_handler && !s_io_handler_running && context == kVSFSysUtilIO)
131 {
132 s_io_handler_running = 1;
133 (*s_io_handler)(retval, fd, s_p_io_handler_private);
134 s_io_handler_running = 0;
135 }
136 for (i=0; i < NSIG; ++i)
137 {
138 if (s_sig_details[i].pending && !s_sig_details[i].running)
139 {
140 s_sig_details[i].running = 1;
141 if (s_sig_details[i].sync_sig_handler)
142 {
143 s_sig_details[i].pending = 0;
144 (*(s_sig_details[i].sync_sig_handler))(s_sig_details[i].p_private);
145 }
146 s_sig_details[i].running = 0;
147 }
148 }
149 }
最終更新:2009年02月08日 12:47