bio: doFastMemoryTest should try to kill io threads as well.
(cherry picked from commit e9b6077ac798e4d30c9401a3687ffe61568b6eae)
This commit is contained in:
parent
4aef590a63
commit
201b993840
@ -1530,6 +1530,7 @@ static void killMainThread(void) {
|
||||
static void killThreads(void) {
|
||||
killMainThread();
|
||||
bioKillThreads();
|
||||
killIOThreads();
|
||||
}
|
||||
|
||||
/* Scans the (assumed) x86 code starting at addr, for a max of `len`
|
||||
|
@ -3021,6 +3021,23 @@ void initThreadedIO(void) {
|
||||
}
|
||||
}
|
||||
|
||||
void killIOThreads(void) {
|
||||
int err, j;
|
||||
for (j = 0; j < server.io_threads_num; j++) {
|
||||
if (io_threads[j] == pthread_self()) continue;
|
||||
if (io_threads[j] && pthread_cancel(io_threads[j]) == 0) {
|
||||
if ((err = pthread_join(io_threads[j],NULL)) != 0) {
|
||||
serverLog(LL_WARNING,
|
||||
"IO thread(tid:%lu) can not be joined: %s",
|
||||
(unsigned long)io_threads[j], strerror(err));
|
||||
} else {
|
||||
serverLog(LL_WARNING,
|
||||
"IO thread(tid:%lu) terminated",(unsigned long)io_threads[j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void startThreadedIO(void) {
|
||||
if (tio_debug) { printf("S"); fflush(stdout); }
|
||||
if (tio_debug) printf("--- STARTING THREADED IO ---\n");
|
||||
|
@ -2460,6 +2460,7 @@ int memtest_preserving_test(unsigned long *m, size_t bytes, int passes);
|
||||
void mixDigest(unsigned char *digest, void *ptr, size_t len);
|
||||
void xorDigest(unsigned char *digest, void *ptr, size_t len);
|
||||
int populateCommandTableParseFlags(struct redisCommand *c, char *strflags);
|
||||
void killIOThreads(void);
|
||||
|
||||
/* TLS stuff */
|
||||
void tlsInit(void);
|
||||
|
Loading…
x
Reference in New Issue
Block a user