Arrange so that startup connections are handled by main Worker
When the Worker mechanism has been initialized the current_worker_id of the calling thread is set to 0. That way, connections can be created after Worker::init() has been called, but before the workers have been started. Such connections will be handled by the worker that is running in the main thread.
This commit is contained in:
@ -214,6 +214,16 @@ bool Worker::init()
|
||||
MXS_ERROR("Could not allocate an epoll instance.");
|
||||
}
|
||||
|
||||
if (this_unit.initialized)
|
||||
{
|
||||
// When the initialization has successfully been performed, we set the
|
||||
// current_worker_id of this thread to 0. That way any connections that
|
||||
// are made during service startup (after this function returns, but
|
||||
// bofore the workes have been started) will be handled by the worker
|
||||
// that will be running in the main thread.
|
||||
this_thread.current_worker_id = 0;
|
||||
}
|
||||
|
||||
return this_unit.initialized;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user