• Yedidya Feldblum's avatar
    Make EventBase enqueue noexcept · 8dc220b9
    Yedidya Feldblum authored
    Summary:
    [Folly] Make `EventBase` enqueue `noexcept`.
    
    It cannot really fail anyway in correct usage besides allocation failure, unless in the `EventBase` destructor and while draining and the `AlwaysEnqueue` variant is called.
    
    Theoretically if a caller attempts to enqueue concurrently with `EventBase` dtor while in `consumeUntilDrained`, but either *not* in the `EventBase` thread or in the `EventBase` thread and using the `AlwaysEnqueue` variant, there is a race which can lead to termination.
    
    Reviewed By: andriigrynenko
    
    Differential Revision: D14114678
    
    fbshipit-source-id: 9a0128d207f86ca34eb8a1d417766c095ed5e137
    8dc220b9
VirtualEventBase.cpp 2.38 KB