aboutsummaryrefslogtreecommitdiffstats
path: root/src/GlobalEvents.cxx (follow)
Commit message (Collapse)AuthorAgeFilesLines
* GlobalEvents: use g_idle_add() instead of WakeFD()Max Kellermann2013-02-271-28/+5
| | | | | Use the GMainLoop specific function to wake up the main loop. This is simpler and comes with very little overhead.
* GlobalEvents: wake up only if the flags were emptyMax Kellermann2013-02-271-1/+1
| | | | | Don't bother checking for the parameter mask. This doesn't matter. The only thing that matters is if a wake-up is already pending.
* Idle, GlobalEvents: use std::atomic::exchange()Max Kellermann2013-02-271-1/+1
| | | | Less overhead than fetch_and() for what we do.
* WakeFD.cxx: use two sockets instead of pipe on Win32Denis Krjuchkov2013-01-131-1/+1
| | | | | | | | | Pipes aren't really pollable on Windows. GLib emulates polling on pipes using separate reader/writer threads. This adds significant overhead and keeps a strong dependency on GLib. socketpair() function is absent on Windows as well. We implement it here in a loose way.
* GlobalEvents: lock-less operation using std::atomicMax Kellermann2013-01-101-31/+8
| | | | Use a bit field instead of a mutex-protected bool array.
* GlobalEvents: move code to class WakeFDMax Kellermann2013-01-091-27/+11
|
* EventPipe: rename to GlobalEventsMax Kellermann2013-01-091-0/+153