> I suspect a bug in your code. Are you holding the > ptr->mutex when doing > the cv_signal?
Yes, I do. > > What is the value of tmo? I guess it isn't the reason either. Typical values are from 250000 to 5000000 (0,25 to 5 s). > > Also, be aware that mutex deadlocks may occur -- > cv_timedwait() drops, > and reacquires the lock. If it can't reacquire the > lock, then badness > will ensue, and it may appear hung when it is merely > blocked. This is true. But why does it work correctly with a previous call "(void) ddi_get_lbolt();"? The trouble with the mutexes would be the same then. Couldn't it be that there is a strange thing with ddi_get_lbolt() when called for the first time (even though it sounds unbelieveable to me) ? Of course the proof would be hard to do - a complete driver just to test this. That's why I thought perhaps a question could be permitted... > > -- Garrett > > > > This message posted from opensolaris.org > > _______________________________________________ > > opensolaris-code mailing list > > opensolaris-code@opensolaris.org > > > http://mail.opensolaris.org/mailman/listinfo/opensolar > is-code > > > > _______________________________________________ > opensolaris-code mailing list > opensolaris-code@opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/opensolar > is-code This message posted from opensolaris.org _______________________________________________ opensolaris-code mailing list opensolaris-code@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/opensolaris-code