3.0.0rc35: missing pthread_mutex_init()s

carter at qosient.com carter at qosient.com
Wed Dec 6 07:06:51 EST 2006


Hey Christoph,
Thanks, I'll try to get them in this week!!
I am trying to make the include files and libraries between argus and the clients consistent, so I'd rather make them the same with #defines, but at this point, we just need to get it right.

The argus server code is not normally used, because in low demand systems, it actually is slower than the unthreaded implementation.  If you want to play with it that would be great.  The division of labor between threads is interesting, and I could use some opinions.


Carter

Carter Bullard
QoSient LLC
150 E. 57th Street Suite 12D
New York, New York 10022
+1 212 588-9133 Phone
+1 212 588-9134 Fax  

-----Original Message-----
From: Christoph Badura <bad at bsd.de>
Date: Tue, 5 Dec 2006 23:18:48 
To:argus-info at lists.andrew.cmu.edu
Subject: [ARGUS] 3.0.0rc35: missing pthread_mutex_init()s

Hey Carter,

while playing around a bit more with the argus clients my system's
pthread implementation carped a bunch about attempts to lock invalid
mutexes. And indeed, the mutexes inside the ArgusHashTables are never
initialized with pthread_mutex_init() as the standard mandates.

I've attached a patch that fixes that.  Maybe it is preferable to
wrap that all in a new ArgusNewHashTable function like the other data
structures.

While being there I wrapped a bunch of pthread_something_or_other() calls
inside #if defined(ARGUS_THREADS) like all the other calls to pthread
functions.

I've also patched the Argus server sources so that the mutexes in the
data structures are initialized, even though the locks are never used.
The pthread related members in the hash struct and model struct seem to
be boiler plate to me, so maybe it is better to remove them altogether.

cheers,
--chris



More information about the argus mailing list