Richard Fuchs
7787ad3b28
reorder headers and fix resulting errors
12 years ago
Richard Fuchs
a4625fbad9
enough with the glib threading nonsense, it's only causing problems. revert to good old pthread stuff
13 years ago
Richard Fuchs
942c96c96d
move poller timers and polling into a separate thread
13 years ago
Richard Fuchs
1ec2c96655
living on the edge with epoll edge-triggered behavior
13 years ago
Richard Fuchs
db15692f21
using thread-local-storage for eliminating constant calls to time()
13 years ago
Richard Fuchs
26824993e2
preliminary attempt to make the udp controller thread-safe
13 years ago
Richard Fuchs
7dc00bd258
making timers thread-safe
13 years ago
Richard Fuchs
8e5ad59558
make the obj_ primitives more liberal to make for easier calling
13 years ago
Richard Fuchs
f05156a58e
catch the inevitable disaster early and define our own mutex types. sigh. and there i was, thinking that using the glib types would make things easier.
13 years ago
Richard Fuchs
806c97246c
glib < 2.32 requires use of distinct static mutex type
13 years ago
Richard Fuchs
145bbd1f7c
Prepare for multi-threaded operation
...
Introduce generic "objects" with reference counting primitives and automatic
resource deallocation when no refs are left ("garbage collection"). Overhaul
poller framework to make extensive use of these objects to allow for future
thread-concurrent operation.
No locking added anywhere yet except in poller. Poller is still not 100%
thread safe, but close.
Valgrind reports no errors or memleaks.
13 years ago
Richard Fuchs
9bff0cf86c
lets be more strict with timer removal
13 years ago
Richard Fuchs
1fa2f614d4
it's inefficient to walk the entire list of poller items every second just to look for times which we don't really use. so instead, use the linked timers list for this purpose. this is also inefficient for timer remove, but since we don't use those times anyway, we don't care.
13 years ago
Richard Fuchs
fa6039e71d
BSEARCH macro is obsoleted
13 years ago
Richard Fuchs
52e297f864
use glib slice allocator in poller
13 years ago
Richard Fuchs
8d50923508
good bye poll(), hello epoll_*()
13 years ago
Richard Fuchs
dc7517121d
remove uuid helper code
13 years ago