* tools/dbus-monitor.c: Handle sigint so we flush stdout

(Patch from Olli Salli <olli dot salli at collabora dot co dot uk>)
This commit is contained in:
John (J5) Palmieri 2006-11-08 23:10:48 +00:00
parent b6905b75b6
commit 4ff579c92b
2 changed files with 21 additions and 1 deletions

View file

@ -1,3 +1,9 @@
2006-11-08 John (J5) Palmieri <johnp@redhat.com>
* tools/dbus-monitor.c: Handle sigint so we flush stdout
(Patch from Olli Salli <olli dot salli at collabora dot co dot uk>)
2006-11-08 John (J5) Palmieri <johnp@redhat.com>
* tools/dbus-monitor.1: update the manpage for dbus-monitor

View file

@ -26,6 +26,8 @@
#include <sys/time.h>
#include <time.h>
#include <signal.h>
#include "dbus-print-message.h"
static DBusHandlerResult
@ -163,6 +165,14 @@ usage (char *name, int ecode)
exit (ecode);
}
dbus_bool_t sigint_received = FALSE;
static void
sigint_handler (int signum)
{
sigint_received = TRUE;
}
int
main (int argc, char *argv[])
{
@ -254,7 +264,11 @@ main (int argc, char *argv[])
fprintf (stderr, "Couldn't add filter!\n");
exit (1);
}
while (dbus_connection_read_write_dispatch(connection, -1))
/* we handle SIGINT so exit() is reached and flushes stdout */
signal (SIGINT, sigint_handler);
while (dbus_connection_read_write_dispatch(connection, -1)
&& !sigint_received)
;
exit (0);
lose: