Libevent 2.0.19-stable, Linux 2.6.32-22-generic-pae i686
I have multithreaded server application designed in the following way.
There are 2 threads - main and worker.
event = event_new(..)
push a task (with event) in a std::queue.
pop the std::queue
do event_active(event from the task)
push and pop are synchronized by pthread_mutex_lock.
(In my reproduce sample i use signals to push tasks)
When the worker calls event_active on event(#1), nothing happens.
Then i send SIGQUIT again and event(#1) gets activated just before libevent handles the signal event.
If i push two tasks at once, they both get activated when libevent receives SIGQUIT.
In my reproduce sample one can send a task to the worker by sending SIGQUIT or SIGUSR1 to the sample's proccess. (SIGQUIT's chosen to be easily sent by ctrl+\)