[libvirt] [PATCH v3 3/5] tools: console: add missing locks in callbacks

Nikolay Shirokovskiy nshirokovskiy at virtuozzo.com
Thu Apr 4 06:57:42 UTC 2019



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 at 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




More information about the libvir-list mailing list