When, for example, a timed wait is being performed on a conditional variable the routine timeout_common() will end up being called. It will acquire the ct->ct_lock before it does it's work. However, if a timer interrupt occurs then callout_schedule_1 may end up being called which will also try and acquire the same lock. This thread is running at PIL 10 and will find the mutex being held.
I am coming from build 79 where this never used to cause a deadlock problem but I note now that there's been changes to mutex handling (e.g. the introduction of a mutex_delay operation). I assume I need to do some work here for the platform I am working on. Can someone describe the changes that were done in this area? Neale Ferguson -- This message posted from opensolaris.org _______________________________________________ opensolaris-code mailing list opensolaris-code@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/opensolaris-code