On Wednesday 04 March 2009 7:54:32 am Barney Cordoba wrote: > > Suppose the following: > > Module foo.c > > foo_getlock(sc) > { > FOO_LOCK(sc); > } > foo_unlock(sc) > { > FOO_UNLOCK(sc); > } > foo_dosomething(sc) > { > MTX_LOCK_ASSERT(sc); > foo_dooit(); > } > > Module bar.c > > bar_dofoo() > { > foo_getlock(sc); > foo_dosomething(sc); > foo_unlock(sc); > } This works fine. > Is this something that shouldn't work? I need to access functions > that require locks in a different module, but this code barfs on > ASSERT with witness enabled. Is this a deflugalty in WITNESS, or do > I need to create functions within foo that do the locking? Its been > working ok for awhile (its not a high volume function) but when I > fired up witness to debug something else I encountered witness panics. You probably have a real bug that WITNESS is warning about however. -- John BaldwinReceived on Wed Mar 04 2009 - 14:14:57 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:43 UTC