From b8cc7e2b9c9223de33c1d6513decb80261998461 Mon Sep 17 00:00:00 2001 From: John Sully Date: Thu, 14 Nov 2019 19:57:29 -0500 Subject: [PATCH] Debug sleep should apply to all threads Former-commit-id: 41b678814b2c2ff93935b57e630028aaf2e9ae62 --- src/debug.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/debug.cpp b/src/debug.cpp index 234f197be..9854d0fd4 100644 --- a/src/debug.cpp +++ b/src/debug.cpp @@ -595,9 +595,19 @@ NULL double dtime = strtod(szFromObj(c->argv[2]),NULL); long long utime = dtime*1000000; struct timespec tv; - tv.tv_sec = utime / 1000000; tv.tv_nsec = (utime % 1000000) * 1000; + + // Ensure all threads sleep + for (int iel = 0; iel < cserver.cthreads; ++iel) + { + if (iel == ielFromEventLoop(serverTL->el)) + continue; // we will sleep ourselves below + aePostFunction(g_pserver->rgthreadvar[iel].el, [tv]{ + nanosleep(&tv, NULL); + }); + } + nanosleep(&tv, NULL); addReply(c,shared.ok); } else if (!strcasecmp(szFromObj(c->argv[1]),"set-active-expire") &&