Richard Fuchs
7787ad3b28
reorder headers and fix resulting errors
13 years ago
Richard Fuchs
ab3a47ae41
finish renaming control.[ch] to control_tcp.[ch]
13 years ago
Richard Fuchs
a050fcfa48
rename control.[ch] to control_tcp.[ch]
13 years ago
Richard Fuchs
efdc8efeb8
rename some command implementation functions for consistency
13 years ago
Richard Fuchs
2b60a82e36
more mass deployment of the new "str" object - does this thing still work? now really?
13 years ago
Richard Fuchs
60da1bc445
mass deployment of the new "str" object - does this thing still work?
13 years ago
Richard Fuchs
45f34b9784
turns out you actually have to free/destroy mutexes. who woulda thunk?
14 years ago
Richard Fuchs
683b716885
here we go with the subtle race conditions
14 years ago
Richard Fuchs
806920cc52
dont abort polling on EINTR
14 years ago
Richard Fuchs
1ec2c96655
living on the edge with epoll edge-triggered behavior
14 years ago
Richard Fuchs
db15692f21
using thread-local-storage for eliminating constant calls to time()
14 years ago
Richard Fuchs
5f5e158d76
private structs make for safer threading
14 years ago
Richard Fuchs
419f6bb230
and the tcp controller becomes thread-safe
14 years ago
Richard Fuchs
8e5ad59558
make the obj_ primitives more liberal to make for easier calling
14 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.
14 years ago
Richard Fuchs
8d50923508
good bye poll(), hello epoll_*()
14 years ago
Richard Fuchs
dc7517121d
remove uuid helper code
14 years ago