targclose doesn't return

Alex Dupre ale at FreeBSD.org
Tue Apr 3 14:32:41 UTC 2007

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>

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?");


Alex Dupre

More information about the freebsd-current mailing list