Index: pacemaker-1.1.2+hg20100918/cib/remote.c =================================================================== --- pacemaker-1.1.2+hg20100918.orig/cib/remote.c 2010-09-24 16:35:20.194327792 -0600 +++ pacemaker-1.1.2+hg20100918/cib/remote.c 2010-09-24 16:43:40.725007445 -0600 @@ -57,6 +57,10 @@ # endif #endif +#ifdef HAVE_DECL_NANOSLEEP +# include +#endif + extern int remote_tls_fd; int init_remote_listener(int port, gboolean encrypted); @@ -209,6 +213,10 @@ cl_uuid_t client_id; char uuid_str[UU_UNPARSE_SIZEOF]; +#ifdef HAVE_DECL_NANOSLEEP + const struct timespec sleepfast = { 0, 1000000 }; /* 1 millisec */ +#endif + /* accept the connection */ laddr = sizeof(addr); csock = accept(ssock, (struct sockaddr*)&addr, &laddr); @@ -242,7 +250,14 @@ } else { login = cib_recv_remote_msg(GINT_TO_POINTER(csock), FALSE); } + if (login != NULL) { + break; + } +#ifdef HAVE_DECL_NANOSLEEP + nanosleep(&sleepfast, NULL); +#else sleep(1); +#endif } while(login == NULL && ++lpc < 10); Index: pacemaker-1.1.2+hg20100918/configure.ac =================================================================== --- pacemaker-1.1.2+hg20100918.orig/configure.ac 2010-09-24 16:33:41.996424087 -0600 +++ pacemaker-1.1.2+hg20100918/configure.ac 2010-09-24 16:34:22.684911759 -0600 @@ -775,6 +775,7 @@ AC_CHECK_FUNCS(g_log_set_default_handler) AC_CHECK_FUNCS(getopt, AC_DEFINE(HAVE_DECL_GETOPT, 1, [Have getopt function])) +AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_DECL_NANOSLEEP, 1, [Have nanosleep function])) dnl ======================================================================== dnl ltdl