Richard Fuchs
5ea5dcddfa
call_offer()/answer stubs
13 years ago
Richard Fuchs
bbb8327750
implement udp Q command
13 years ago
Richard Fuchs
594297a3ea
use string chunk for all the little call-related strings
14 years ago
Richard Fuchs
d8ef1885cc
split callstream_init into callstream_new for redis module
14 years ago
Richard Fuchs
94f2f320a6
actually the call struct needs neither linked flag nor shutdown flag due to the sequence of events and locking
14 years ago
Richard Fuchs
b7a68659b1
analoguous to the last race, call_destroy() must not assume that it's getting the last reference to the call
14 years ago
Richard Fuchs
d9e09f33bc
lets try with a lot of large, nested, naive locks
14 years ago
Richard Fuchs
ae5a36f5ce
getting rid of call->log_info and introducing call->lock
14 years ago
Richard Fuchs
900f76a17e
make the callmaster struct private - also requires update to redis module
14 years ago
Richard Fuchs
aeb5398b0d
granular lock for "ports used" bit field
14 years ago
Richard Fuchs
0b0b41e67f
gonna need more than one lock in callmaster, so rename the one we have
14 years ago
Richard Fuchs
4588e13a76
getting rid of more global variables
14 years ago
Richard Fuchs
de33b8da40
add basic locking to callmaster struct
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
dc7517121d
remove uuid helper code
14 years ago