
On 03.04.2019 23:44, Cole Robinson wrote:
On 3/18/19 5:08 AM, Nikolay Shirokovskiy wrote:
Stream/fd callbacks accessing console object are called from the event loop thread and the console object is also accessed from the main thread so we are better add locking to handlers.
Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com> --- tools/virsh-console.c | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-)
The qemuAgentIO and qemuMonitorIO callbacks also add have matching Ref/Unref calls along side the lock calls, but after scratching my head over it for a while I don't think it's necessary here: even if virConsoleShutdown is called from one of the callbacks, the main thread will still hold a reference until the callback releases the object lock
We don't need even to rely on main thread. Event loop itself has a reference which will be unrefed only after callback returns. Nikolay