From 501acd8b0c5e1faf1ccb709d6370f5317c0f5f5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Canna=C3=B2?= Date: Sat, 27 Feb 2016 13:35:33 +0000 Subject: [PATCH] Add a small pause in listener_add() --- lib/MySQL_Thread.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/MySQL_Thread.cpp b/lib/MySQL_Thread.cpp index 29f5e7713..befdc56ec 100644 --- a/lib/MySQL_Thread.cpp +++ b/lib/MySQL_Thread.cpp @@ -289,7 +289,9 @@ int MySQL_Threads_Handler::listener_add(const char *iface) { unsigned int i; for (i=0;imypolls.pending_listener_add,0,rc)); + while(!__sync_bool_compare_and_swap(&thr->mypolls.pending_listener_add,0,rc)) { + usleep(100); // pause a bit + } /* while(!__sync_bool_compare_and_swap(&thr->mypolls.pending_listener_change,0,1)) { cpu_relax_pa(); } while(__sync_fetch_and_add(&thr->mypolls.pending_listener_change,0)==1) { cpu_relax_pa(); }