Răsfoiți Sursa

coroipc: Don't spin when waiting on semaphore

Set timeout correctly before each call of sem_timedwait.

Signed-off-by: Jan Friesse <jfriesse@redhat.com>
Reviewed-by: Fabio M. Di Nitto <fdinitto@redhat.com>
Jan Friesse 13 ani în urmă
părinte
comite
7ce8718a71
1 a modificat fișierele cu 1 adăugiri și 1 ștergeri
  1. 1 1
      include/corosync/coroipc_ipc.h

+ 1 - 1
include/corosync/coroipc_ipc.h

@@ -218,10 +218,10 @@ retry_sem_wait:
 			return (CS_ERR_LIBRARY);
 		}
 
+retry_sem_timedwait:
 		timeout.tv_sec = time(NULL) + IPC_SEMWAIT_TIMEOUT;
 		timeout.tv_nsec = 0;
 
-retry_sem_timedwait:
 		res = sem_timedwait (sem, &timeout);
 		if (res == -1 && errno == ETIMEDOUT) {
 			pfd.fd = fd;