srv0start.c, srv0srv.c:

  If UNIV_SYNC_DEBUG was switched on, the error monitor thread could reserve a mutex BEFORE the sync debug system was initialized, and that caused a sync debug assertion in startup: move the 2 sec. sleep to a safer place; note that this is only heuristics, and in theory it can assert still
parent 81f10f9f
......@@ -2739,8 +2739,6 @@ srv_error_monitor_thread(
cnt++;
os_thread_sleep(2000000);
/* Try to track a strange bug reported by Harald Fuchs and others,
where the lsn seems to decrease at times */
......@@ -2782,6 +2780,8 @@ srv_error_monitor_thread(
fflush(stderr);
fflush(stdout);
os_thread_sleep(2000000);
if (srv_shutdown_state < SRV_SHUTDOWN_LAST_PHASE) {
goto loop;
......
......@@ -1512,12 +1512,13 @@ NetWare. */
srv_is_being_started = FALSE;
#ifdef UNIV_DEBUG
/* Wait a while so that creates threads have time to suspend themselves
before we switch sync debugging on; otherwise a thread may execute
mutex_enter() before the checks are on, and mutex_exit() after the
checks are on. */
/* Wait a while so that the created threads have time to suspend
themselves before we switch sync debugging on; otherwise a thread may
execute mutex_enter() before the checks are on, and mutex_exit() after
the checks are on, which will cause an assertion failure in sync
debug. */
os_thread_sleep(2000000);
os_thread_sleep(3000000);
#endif
sync_order_checks_on = TRUE;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment