As discussed on IRC, this is same patch as: [Openais] [PATCH 1/1] whitetank: Return error if there is no space for semaphore
Angus Salkeld napsal(a): > I noticed this while testing the high FD usage patch. > It can get stuck in the while loop. > > Signed-off-by: Angus Salkeld <[email protected]> > --- > lib/util.c | 6 ++++++ > 1 files changed, 6 insertions(+), 0 deletions(-) > > diff --git a/lib/util.c b/lib/util.c > index f285eb5..76b3891 100644 > --- a/lib/util.c > +++ b/lib/util.c > @@ -339,6 +339,9 @@ openais_service_connect ( > shmkey = random(); > ipc_segment->shmid = shmget (shmkey, sizeof (struct > shared_memory), > IPC_CREAT|IPC_EXCL|0600); > + if (ipc_segment->semid == -1 && errno == ENOSPC) { > + goto error_exit; > + } > } while (ipc_segment->shmid == -1); > > /* > @@ -347,6 +350,9 @@ openais_service_connect ( > do { > semkey = random(); > ipc_segment->semid = semget (semkey, 3, > IPC_CREAT|IPC_EXCL|0600); > + if (ipc_segment->semid == -1 && errno == ENOSPC) { > + goto error_exit; > + } > ipc_segment->euid = geteuid (); > } while (ipc_segment->semid == -1); > _______________________________________________ Openais mailing list [email protected] https://lists.linux-foundation.org/mailman/listinfo/openais
