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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/4/19 2:57 AM, Nikolay Shirokovskiy wrote:
> 
> 
> 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@xxxxxxxxxxxxx>
>>> ---
>>>  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.
> 

Hmm interesting, where in the code is that exactly? I know we pass a
Free callback to virEventAddHandle but that's only called when the
handle is removed, not after the callback is invoked. Maybe I'm missing
something

Thanks,
Cole

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux