diff options
| author | Ray Strode <rstrode@redhat.com> | 2007-06-06 16:32:11 -0400 |
|---|---|---|
| committer | Ray Strode <rstrode@redhat.com> | 2007-06-06 16:32:11 -0400 |
| commit | 2224329fddf5b4e9a27790090b3cd9a6680c3ebd (patch) | |
| tree | 4fa6bb40377db8c9c01e28c0ba740842b25be8c0 /src | |
| parent | 5b416dbb9df3f50cfc1dcd8bb72699ad0074f9ee (diff) | |
change the event loop test to quit after a 5 second alarm
Diffstat (limited to 'src')
| -rw-r--r-- | src/ply-event-loop.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/ply-event-loop.c b/src/ply-event-loop.c index cdd6c16..7aff9af 100644 --- a/src/ply-event-loop.c +++ b/src/ply-event-loop.c @@ -1060,6 +1060,13 @@ ply_event_loop_run (ply_event_loop_t *loop) static ply_event_loop_t *loop; static void +alrm_signal_handler (void) +{ + write (1, "times up!\n", sizeof ("times up!\n") - 1); + ply_event_loop_exit (loop, 0); +} + +static void usr1_signal_handler (void) { write (1, "got sigusr1\n", sizeof ("got sigusr1\n") - 1); @@ -1106,12 +1113,16 @@ main (int argc, ply_event_loop_watch_signal (loop, SIGUSR1, (ply_event_handler_t) usr1_signal_handler, NULL); + ply_event_loop_watch_signal (loop, SIGALRM, + (ply_event_handler_t) + alrm_signal_handler, NULL); ply_event_loop_watch_fd (loop, 0, PLY_EVENT_LOOP_FD_STATUS_HAS_DATA, (ply_event_handler_t) line_received_handler, (ply_event_handler_t) line_received_handler, NULL); + alarm (5); exit_code = ply_event_loop_run (loop); ply_event_loop_free (loop); |
