In message: <3bbf2fe10905211511g53defb6cmac45fc2469cc64f at mail.gmail.com> Attilio Rao <attilio at freebsd.org> writes: : At this point I wonder what's the purpose of maintaining the sleeping : version for such functions? As John explained, destroy_dev() needs to sleep to flush all the threads out of the driver callbacks. Warner