1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-09 06:18:06 +00:00

Return ETIMEDOUT regardless if we fail in cgsem_mswait since we may be waiting on it on shutdown and the return response is harmless.

This commit is contained in:
Con Kolivas 2013-11-05 21:56:01 +11:00
parent 82a97a04f5
commit 3dcae53e38

24
util.c
View File

@ -2579,11 +2579,14 @@ int _cgsem_mswait(cgsem_t *cgsem, int ms, const char *file, const char *func, co
ret = read(fd, &buf, 1);
return 0;
}
if (likely(!ret))
return ETIMEDOUT;
quitfrom(1, file, func, line, "Failed to sem_timedwait errno=%d cgsem=0x%p", errno, cgsem);
/* We don't reach here */
return 0;
/* Harmless to time out regardless here since we may be waiting on sems
* during shutdown. */
if (unlikely(ret)) {
applog(LOG_WARNING, "Failed to sem_timedwait %s %s %d errno=%d cgsem=0x%p",
file, func, line, errno, cgsem);
}
return ETIMEDOUT;
}
#else
void _cgsem_init(cgsem_t *cgsem, const char *file, const char *func, const int line)
@ -2617,12 +2620,13 @@ int _cgsem_mswait(cgsem_t *cgsem, int ms, const char *file, const char *func, co
timeraddspec(&abs_timeout, &ts_now);
ret = sem_timedwait(cgsem, &abs_timeout);
if (ret) {
if (likely(sock_timeout()))
return ETIMEDOUT;
quitfrom(1, file, func, line, "Failed to sem_timedwait errno=%d cgsem=0x%p", errno, cgsem);
/* Harmless to time out regardless here since we may be waiting on sems
* during shutdown. */
if (unlikely(ret && !sock_timeout())) {
applog(LOG_WARNING, "Failed to sem_timedwait %s %s %d errno=%d cgsem=0x%p",
file, func, line, errno, cgsem);
}
return 0;
return ETIMEDOUT;
}
void cgsem_destroy(cgsem_t *cgsem)