$OpenBSD: patch-gnome-session_gsm-dbus_c,v 1.1 2007/05/18 14:11:32 jasper Exp $
--- gnome-session/gsm-dbus.c.orig	Mon Mar 12 20:48:31 2007
+++ gnome-session/gsm-dbus.c	Tue May 15 21:41:08 2007
@@ -281,6 +281,7 @@ start_parent (int address_fd, int pid_fd, pid_t child)
   int exitstat;
   unsigned long tmp_num;
   ssize_t bytes;
+  int i;
 
   g_assert (child > 0);
 
@@ -326,14 +327,17 @@ start_parent (int address_fd, int pid_fd, pid_t child)
   /*
    * Fetch dbus-daemon pid.
    */
-  bytes = read_line (pid_fd, pid_str, sizeof (pid_str));
-  if (bytes == -1 || bytes == 0)
+  for (i = 0; i < 2; i++)
     {
-      close (address_fd);
-      close (pid_fd);
+      bytes = read_line (pid_fd, pid_str, sizeof (pid_str));
+      if (bytes == -1 || bytes == 0)
+        {
+          close (address_fd);
+          close (pid_fd);
 
-      g_printerr ("Failed to get dbus-daemon's pid\n");
-      return;
+          g_printerr ("Failed to get dbus-daemon's pid\n");
+          return;
+        }
     }
 
   close (address_fd);
