• Max Kellermann's avatar
    DeferredMonitor: fix race condition when using GLib event loop · 0efb67b5
    Max Kellermann authored
    Turns out the lock-free code using atomics was not thread-safe.  The
    given callback could be invoked by GLib before the source_id attribute
    was assigned.  This commit changes the DeferredMonitor class to use a
    Mutex to block the event loop until source_id is assigned.  This bug
    does not exist in the 0.19 branch because it does not use the GLib
    main loop anymore.
    0efb67b5
Name
Last commit
Last update
..
BufferedSocket.cxx Loading commit data...
BufferedSocket.hxx Loading commit data...
Call.cxx Loading commit data...
Call.hxx Loading commit data...
DeferredMonitor.cxx Loading commit data...
DeferredMonitor.hxx Loading commit data...
FullyBufferedSocket.cxx Loading commit data...
FullyBufferedSocket.hxx Loading commit data...
IdleMonitor.cxx Loading commit data...
IdleMonitor.hxx Loading commit data...
Loop.cxx Loading commit data...
Loop.hxx Loading commit data...
MultiSocketMonitor.cxx Loading commit data...
MultiSocketMonitor.hxx Loading commit data...
ServerSocket.cxx Loading commit data...
ServerSocket.hxx Loading commit data...
SignalMonitor.cxx Loading commit data...
SignalMonitor.hxx Loading commit data...
SocketMonitor.cxx Loading commit data...
SocketMonitor.hxx Loading commit data...
TimeoutMonitor.cxx Loading commit data...
TimeoutMonitor.hxx Loading commit data...
WakeFD.hxx Loading commit data...