Richard Fuchs
5ea20be0ae
turns out you actually have to free/destroy mutexes. who woulda thunk?
14 years ago
Richard Fuchs
ad308c149e
here we go with the subtle race conditions
14 years ago
Richard Fuchs
0050f57de6
dont abort polling on EINTR
14 years ago
Richard Fuchs
d07194897b
living on the edge with epoll edge-triggered behavior
14 years ago
Richard Fuchs
8edc107f2d
using thread-local-storage for eliminating constant calls to time()
14 years ago
Richard Fuchs
161b2eec6a
private structs make for safer threading
14 years ago
Richard Fuchs
984899d913
and the tcp controller becomes thread-safe
14 years ago
Richard Fuchs
856c0b9cce
make the obj_ primitives more liberal to make for easier calling
14 years ago
Richard Fuchs
2b63e794df
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
48f0a61277
good bye poll(), hello epoll_*()
14 years ago
Andreas Granig
fb72957594
Cleanup regex result indexing and add via branch.
- Use defines to index regex results.
- Add optional viabranch suffixed to call-id (WIP).
14 years ago
Richard Fuchs
534f4be7e6
compile debian package version into all 3 components at build time
14 years ago
Richard Fuchs
61967c1d32
convert some macros to inline functions
14 years ago
Richard Fuchs
c7635d4365
use G_N_ELEMENTS from glib instead of ARRAY_SIZE
15 years ago
Richard Fuchs
593121d551
create tags and branches
15 years ago