mirror of
https://github.com/GOSTSec/sgminer
synced 2025-01-24 05:24:23 +00:00
Revert "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 reverts commit 3dcae53e38021a61c10de1414195926c339d1c89.
This commit is contained in:
parent
0485208342
commit
5d7c99f389
24
util.c
24
util.c
@ -2579,14 +2579,11 @@ int _cgsem_mswait(cgsem_t *cgsem, int ms, const char *file, const char *func, co
|
|||||||
ret = read(fd, &buf, 1);
|
ret = read(fd, &buf, 1);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
if (likely(!ret))
|
||||||
/* Harmless to time out regardless here since we may be waiting on sems
|
return ETIMEDOUT;
|
||||||
* during shutdown. */
|
quitfrom(1, file, func, line, "Failed to sem_timedwait errno=%d cgsem=0x%p", errno, cgsem);
|
||||||
if (unlikely(ret)) {
|
/* We don't reach here */
|
||||||
applog(LOG_WARNING, "Failed to sem_timedwait %s %s %d errno=%d cgsem=0x%p",
|
return 0;
|
||||||
file, func, line, errno, cgsem);
|
|
||||||
}
|
|
||||||
return ETIMEDOUT;
|
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
void _cgsem_init(cgsem_t *cgsem, const char *file, const char *func, const int line)
|
void _cgsem_init(cgsem_t *cgsem, const char *file, const char *func, const int line)
|
||||||
@ -2620,13 +2617,12 @@ int _cgsem_mswait(cgsem_t *cgsem, int ms, const char *file, const char *func, co
|
|||||||
timeraddspec(&abs_timeout, &ts_now);
|
timeraddspec(&abs_timeout, &ts_now);
|
||||||
ret = sem_timedwait(cgsem, &abs_timeout);
|
ret = sem_timedwait(cgsem, &abs_timeout);
|
||||||
|
|
||||||
/* Harmless to time out regardless here since we may be waiting on sems
|
if (ret) {
|
||||||
* during shutdown. */
|
if (likely(sock_timeout()))
|
||||||
if (unlikely(ret && !sock_timeout())) {
|
return ETIMEDOUT;
|
||||||
applog(LOG_WARNING, "Failed to sem_timedwait %s %s %d errno=%d cgsem=0x%p",
|
quitfrom(1, file, func, line, "Failed to sem_timedwait errno=%d cgsem=0x%p", errno, cgsem);
|
||||||
file, func, line, errno, cgsem);
|
|
||||||
}
|
}
|
||||||
return ETIMEDOUT;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void cgsem_destroy(cgsem_t *cgsem)
|
void cgsem_destroy(cgsem_t *cgsem)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user