소스 검색

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 년 전
부모
커밋
7ce8718a71
1개의 변경된 파일1개의 추가작업 그리고 1개의 파일을 삭제
  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;