> > Hi All, > I am trying to debug a conditional variable at this situation: > I have a daemon running and I am trying to send a signal to it thru cv_signal > controlled by a conditional variable. The first request I sent to it works > fine and when it comes to the second request, I am not able to wake that > daemon with cv_signal(). I am guessing that there is some problem with the > conditional variable and trying to debug that. I can see the daemon kernel > thread running. > > There is a structure with a conditional variable > > struct a { > int ...; > ... > ... > kcondvar_t something; > }; > > suppose if the address of "struct a" after allocation is 100 and the address > of conditional variable is 120. > > Questions: > > 1. If I do a "::wchaninfo", should that list the address of the conditional > variable as 120?
Yes, if there are active waiters on that variable. It does not, however, produce a list of all possible condvar_t's in the system. > 2. ::wchaninfo ==> dump condition variable > Does this dumps all the conditional variable addressess which are active > at that point time? Yes, if there are waiters. -Mike -- Mike Shapiro, Solaris Kernel Development. blogs.sun.com/mws/