version 1.88, 2010/09/26 20:43:30 |
version 1.89, 2010/10/14 17:38:39 |
|
|
__dead void shell_exec(const char *, const char *); |
__dead void shell_exec(const char *, const char *); |
|
|
struct imsgbuf *main_ibuf; |
struct imsgbuf *main_ibuf; |
|
struct event main_event; |
|
|
void main_signal(int, short, unused void *); |
void main_signal(int, short, unused void *); |
void main_callback(int, short, void *); |
void main_callback(int, short, void *); |
|
|
events = EV_READ; |
events = EV_READ; |
if (main_ibuf->w.queued > 0) |
if (main_ibuf->w.queued > 0) |
events |= EV_WRITE; |
events |= EV_WRITE; |
event_once(main_ibuf->fd, events, main_callback, shellcmd, NULL); |
event_set(&main_event, main_ibuf->fd, events, main_callback, shellcmd); |
|
event_add(&main_event, NULL); |
|
|
event_dispatch(); |
event_dispatch(); |
|
|
clear_signals(0); |
event_del(&main_event); |
|
|
|
clear_signals(0); |
client_main(); /* doesn't return */ |
client_main(); /* doesn't return */ |
} |
} |
|
|
|
|
fatalx("msgbuf_write failed"); |
fatalx("msgbuf_write failed"); |
} |
} |
|
|
|
event_del(&main_event); |
events = EV_READ; |
events = EV_READ; |
if (main_ibuf->w.queued > 0) |
if (main_ibuf->w.queued > 0) |
events |= EV_WRITE; |
events |= EV_WRITE; |
event_once(main_ibuf->fd, events, main_callback, shellcmd, NULL); |
event_set(&main_event, main_ibuf->fd, events, main_callback, shellcmd); |
|
event_add(&main_event, NULL); |
} |
} |
|
|
void |
void |