WITNESS for pthreads

John Baldwin jhb at freebsd.org
Tue Mar 31 08:03:36 PDT 2009


On Tuesday 31 March 2009 2:50:27 am Daniel Eischen wrote:
> > Ok, I have poked around at these... all the mutex attributes defined here
> > do is set the attributes to shared. There does not seem to be any standard
> > naming mechanism.
> 
> Naming mechanism for what?  Names shouldn't be needed for anything,
> nor do I think it is desired.

Off topic: names would be very helpful to port witness to pthreads.  The 
thoughts I have had for doing this though would be to add a new _np attribute 
to set the name.  I actually would like to write a 'libwitness' that 
basically overrides the various symbols and provides the name_np attribute 
and implement witness in the shared library on top of whatever pthreads 
library is in use.  This would also allow it to be portable to other OS's.  
(Well, it could break pshared mutexes, but using the pointer-style types, you 
could have the libwitness allocate its own "mutex" structure which has 
a "real" mutex inside of it along with the name and other per-lock data it 
tracks.  It would then forward mutex operations to the real pthreads library 
after performing LOR checks, etc.).

-- 
John Baldwin


More information about the freebsd-threads mailing list