aboutsummaryrefslogtreecommitdiffstats
path: root/src/event (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-08-10event/MultiSocketMonitor: eliminate virtual method CheckSockets()Max Kellermann2-8/+16
Handle timeout internally.
2013-08-10event/MultiSocketMonitor: PrepareSockets() returns timeoutMax Kellermann1-2/+5
Simplify the API, don't use GLib specific integer type.
2013-08-10thread/Id: new class replacing GThread pointersMax Kellermann2-8/+9
Remove a GLib dependencies from class EventLoop and DatabaseLock.
2013-08-08event: add function BlockingCall()Max Kellermann2-0/+108
Replaces io_thread_call(). This approach is more generic and easier to use due to std::function.
2013-08-08EventLoop: add methodd IsInside()Max Kellermann2-2/+26
Track which thread runs the EventLoop and provide a check whether we're currently inside.
2013-08-08EventLoop: un-inline Run() and othersMax Kellermann2-22/+61
Prepare for adding more code.
2013-08-08event/*Monitor: add method GetEventLoop()Max Kellermann4-1/+16
2013-08-08event/SocketMonitor: un-inline Schedule()Max Kellermann2-24/+23
Merge with CommitEventFlags().
2013-08-08event/SocketMonitor: add assertionsMax Kellermann2-0/+12
2013-08-08event/BufferedSocket: add missing includeMax Kellermann1-0/+1
2013-08-07event/DeferredMonitor: rename Run() to RunDeferred()Max Kellermann2-4/+4
2013-08-07event/DeferredMonitor: use EventLoop::AddIdle()Max Kellermann2-3/+7
2013-08-07event/DeferredMonitor: new class wrapping g_idle_add()Max Kellermann2-0/+109
2013-08-07event/EventFD: move to libsystemMax Kellermann5-361/+2
2013-08-07event/SignalMonitor: use signalfd() if availableMax Kellermann1-1/+72
2013-08-07SignalHandlers: move code to new class SignalMonitorMax Kellermann2-0/+197
2013-08-07event/Event{Pipe,FD}: auto-create in constructorMax Kellermann4-59/+23
Errors are fatal now. This makes the class a lot easier to use.
2013-08-07Makefile.am: move sources to libsystem.aMax Kellermann7-10/+10
2013-08-06configure.ac: add option --enable-eventfdMax Kellermann5-102/+227
Remove the runtime check for eventfd(), hard-code the feature once it's been selected at compile time. The class WakeFD is splitted into EventFD and EventPipe, using WakeFD as a macro diversion.
2013-04-08event/TimeoutMonitor: eliminate support for periodic eventsMax Kellermann2-14/+7
No caller needs this. Fixes use-after-free after returning from Client::OnTimeout().
2013-02-04event/ServerSocket: close only sockets that have been openedMax Kellermann1-1/+3
Fixes assertion failure.
2013-02-04ServerSocket: Initialize length variableUli Schlachter1-1/+1
2013-01-30event/SocketMonitor: wake up the event loop after flag changeMax Kellermann2-0/+14
2013-01-30event/Loop: add method WakeUp()Max Kellermann1-0/+4
2013-01-30event/ServerSocket: add method GetEventLoop()Max Kellermann1-0/+4
2013-01-30ServerSocket: replace callback with virtual methodMax Kellermann2-17/+12
2013-01-30ServerSocket: expose the classMax Kellermann2-154/+133
Eliminate the C wrappers.
2013-01-30ServerSocket: move to libevent.aMax Kellermann2-0/+579
2013-01-30event/BufferedSocket: move output buffer to FullyBufferedSocketMax Kellermann4-112/+202
BufferedSocket has just an input buffer, and FullyBufferedSocket adds the output buffer.
2013-01-30event/SocketMonitor: OnSocketReady() returns boolMax Kellermann3-6/+11
2013-01-30event/SocketMonitor: add methods Read(), Write()Max Kellermann4-27/+43
2013-01-29require GLib 2.24Max Kellermann1-0/+1
2013-01-27event/SocketMonitor: add method Steal()Max Kellermann2-3/+17
2013-01-15event/SocketMonitor: add method Open()Max Kellermann2-9/+27
Allow creating a closed SocketMonitor instance.
2013-01-15input/Curl: move code to class MultiSocketMonitorMax Kellermann2-0/+231
2013-01-15event/SocketMonitor: wrapper class for GSource + GPollFDMax Kellermann4-0/+607
2013-01-14event/TimeoutMonitor: wrapper for g_timeout_source_new()Max Kellermann3-10/+133
2013-01-14Main, IOThread: move GMainLoop setup code to class EventLoopMax Kellermann1-0/+86
2013-01-13WakeFD.cxx: use two sockets instead of pipe on Win32Denis Krjuchkov1-4/+127
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.
2013-01-10event/WakeFD: use eventfd() if availableMax Kellermann2-1/+46
2013-01-09GlobalEvents: move code to class WakeFDMax Kellermann2-0/+137