AE
Size: a a a
AE
VO
VO
AE
AE
AF
VO
mutex_enter(&t->zthr_lock);
while (!t->zthr_cancel) {
}
mutex_exit(&t->zthr_lock);
int
zthr_cancel(zthr_t *t)
{
int rc = 0;
mutex_enter(&t->zthr_lock);
/* broadcast in case the zthr is sleeping */
cv_broadcast(&t->zthr_cv);
t->zthr_cancel = B_TRUE;
while (t->zthr_thread != NULL)
cv_wait(&t->zthr_cv, &t->zthr_lock);
t->zthr_cancel = B_FALSE;
rc = t->zthr_rc;
mutex_exit(&t->zthr_lock);
return (rc);
}
VO
VO
LS
VO
VG
LS
LS
VG
LS
VG
LS
VO
VO