On 06-Aug-2003 Ted Unangst wrote: > My advisor Dawson Engler has written a deadlock detector, and we'd like > some verification. They look like bugs, unless there is some other reason > why two call chains cannot happen at the same time. > > deadlock between ktrace_mtx and sema_mtx. is it possible to call > sema_timewait on ktrace_sema? call chain below. > > thread 1: > _sema_timedwait(sema, ...) > mtx_lock(&sema->sema_mtx) /* gets this lock */ > cv_timewait() > ktrcsw() > ktr_getrequest() > mtx_lock(&ktrace_mtx) /* waits for thread 2 */ > > thread 2: > ktr_submitrequest > mtx_lock(&ktrace_mtx) /* gets this lock */ > _sema_post(&ktrace_sema) > mtx_lock(&sema->sema_mtx) /* waits for thread 1 */
Yes, the lock isn't needed around the post anyways. Fixed. -- John Baldwin <[EMAIL PROTECTED]> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ _______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"

