diff options
| author | John (J5) Palmieri <johnp@redhat.com> | 2008-04-03 11:11:19 -0400 | 
|---|---|---|
| committer | John (J5) Palmieri <johnp@redhat.com> | 2008-04-03 11:11:19 -0400 | 
| commit | 960fef844bdb0054c082a31e43f9631b1d5eb69b (patch) | |
| tree | e39cc0f5db0dce6149711c9088d2965130ade8e0 /tools/dbus-launch.c | |
| parent | a37404111be4912cd8b51080bcbe219edded35f5 (diff) | |
| parent | 68f69d38182ed5974984b0434086e6a288b477cb (diff) | |
Merge branch 'master' of git+ssh://johnp@git.freedesktop.org/git/dbus/dbus
Conflicts:
	ChangeLog
Diffstat (limited to 'tools/dbus-launch.c')
| -rw-r--r-- | tools/dbus-launch.c | 18 | 
1 files changed, 13 insertions, 5 deletions
| diff --git a/tools/dbus-launch.c b/tools/dbus-launch.c index 6a10ffa3..216f7435 100644 --- a/tools/dbus-launch.c +++ b/tools/dbus-launch.c @@ -458,6 +458,17 @@ kill_bus_when_session_ends (void)    while (TRUE)      { +#ifdef DBUS_BUILD_X11 +      /* Dump events on the floor, and let +       * IO error handler run if we lose +       * the X connection. It's important to +       * run this before going into select() since +       * we might have queued outgoing messages or +       * events. +       */ +      x11_handle_event (); +#endif +              FD_ZERO (&read_set);        FD_ZERO (&err_set); @@ -472,7 +483,7 @@ kill_bus_when_session_ends (void)            FD_SET (x_fd, &read_set);            FD_SET (x_fd, &err_set);          } -       +        select (MAX (tty_fd, x_fd) + 1,                &read_set, NULL, &err_set, NULL); @@ -483,15 +494,12 @@ kill_bus_when_session_ends (void)          }  #ifdef DBUS_BUILD_X11 -      /* Dump events on the floor, and let -       * IO error handler run if we lose -       * the X connection +      /* Events will be processed before we select again         */        if (x_fd >= 0)          verbose ("X fd condition reading = %d error = %d\n",                   FD_ISSET (x_fd, &read_set),                   FD_ISSET (x_fd, &err_set)); -      x11_handle_event ();  #endif        if (tty_fd >= 0) | 
