targclose doesn't return

Alex Dupre ale at FreeBSD.org
Tue Apr 3 14:59:21 UTC 2007


Hello,
I found an incorrect behavior of the targ device on -CURRENT: closing 
the descriptor doesn't return. On -STABLE it works. I think to have 
identified the problem (or at least the change that exposed it) in the 
conditional msleep() call added into kern_conf.c to destroy_devl() in 
rev. 1.119.

This is a simple testcase:


#include <err.h>
#include <fcntl.h>

int
main(int argc, char *argv[])
{
         int targ_fd = open("/dev/targ0", O_RDWR);

         if (targ_fd < 0)
             err(1, "Do you have 'device targ' in your kernel?");

         close(targ_fd);
}

-- 
Alex Dupre


More information about the freebsd-scsi mailing list