http://defect.opensolaris.org/bz/show_bug.cgi?id=10090



--- Comment #6 from amaguire <alan.maguire at sun.com> 2009-08-17 15:18:34 UTC 
---
I've been looking at the reasons why nwamd dumps core during the shutdown
process and I've found a few problems. The crux of the issue is we've got a
number of threads that access object structures:

- the event-handling code
- the doors interface
- the signal-handling thread

graceful_shutdown() calls fini() on the various object lists. Problem is this
is in the signal handling thread context, so as a consequence we remove objects
from object lists that event processing in the event handling thread may be
using. We can make life easier for ourselves by refusing to handle any events
for objects after shutting_down is set to B_TRUE. We also need to shut down the
door handling in graceful_shutdown() as door requests can trigger access to the
object lists.

Note that this could also be solved by a more involved reference count object
locking scheme, but I don't think that additional work is justified to solve a
shutdown-specific issue, especially since this is the only case where this
problem is exposed.

-- 
Configure bugmail: http://defect.opensolaris.org/bz/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Reply via email to