Date: Sat, 26 Sep 2009 05:59:23 +0800 From: Rohit Grover <rgrover1@gmail.com> To: gary.jennejohn@freenet.de Cc: freebsd-current@freebsd.org Subject: Re: hald spins in a poll/read loop against /dev/usb with CURRENT Message-ID: <426bed110909251459p50ca5564mee568e14bd26d8cd@mail.gmail.com> In-Reply-To: <20090925153212.67247375@ernst.jennejohn.org> References: <426bed110909250623j44c25ba8o97ded8393f5297a9@mail.gmail.com> <20090925153212.67247375@ernst.jennejohn.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Sep 25, 2009 at 9:32 PM, Gary Jennejohn <gary.jennejohn@freenet.de> wrote: > On Fri, 25 Sep 2009 21:23:12 +0800 > Rohit Grover <rgrover1@gmail.com> wrote: > >> Hald spins endlessly on my CURRENT. I have the following from truss: >> >> open("/dev/usb",O_RDONLY,00) =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =3D= 12 (0xc) >> ... >> ... >> poll({4/POLLIN 8/POLLIN 10/POLLIN|POLLPRI 15/POLLIN 89/POLLIN 6/POLLIN >> 9/POLLIN 88/POLLIN 7/POLLIN 12/POLLIN},10,161) =3D 1 (0x1) >> gettimeofday({1253883730.961100 },0x0) =A0 =A0 =A0 =A0 =A0 =3D 0 (0x0) >> read(12,0xbfbfe56c,384) =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0=3D 0 (0x0) >> gettimeofday({1253883730.961158 },0x0) =A0 =A0 =A0 =A0 =A0 =3D 0 (0x0) >> poll({4/POLLIN 8/POLLIN 10/POLLIN|POLLPRI 15/POLLIN 89/POLLIN 6/POLLIN >> 9/POLLIN 88/POLLIN 7/POLLIN 12/POLLIN},10,161) =3D 1 (0x1) >> gettimeofday({1253883730.961228 },0x0) =A0 =A0 =A0 =A0 =A0 =3D 0 (0x0) >> read(12,0xbfbfe56c,384) =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0=3D 0 (0x0) >> gettimeofday({1253883730.961286 },0x0) =A0 =A0 =A0 =A0 =A0 =3D 0 (0x0) >> poll({4/POLLIN 8/POLLIN 10/POLLIN|POLLPRI 15/POLLIN 89/POLLIN 6/POLLIN >> 9/POLLIN 88/POLLIN 7/POLLIN 12/POLLIN},10,161) =3D 1 (0x1) >> gettimeofday({1253883730.961357 },0x0) =A0 =A0 =A0 =A0 =A0 =3D 0 (0x0) >> read(12,0xbfbfe56c,384) =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0=3D 0 (0x0) >> gettimeofday({1253883730.961415 },0x0) =A0 =A0 =A0 =A0 =A0 =3D 0 (0x0) >> ... >> ... >> >> Why is /dev/usb responding to poll() when there is no data to be read? >> >> thanks. >> > > /dev/usb is a directory on my 9-CURRENT machine, not a device file. > > Did you install hald recently, e.g. after updating you kernel? =A0I'm pre= tty sure that > hald depends on kernel sources and often requires a fresh installation. I've rebuilt hald (hal-0.5.11_26) after checking out 8/stable under /usr/src/sys. Same problem. A spin loop of poll/read, with /dev/usb responding to poll() but not to read().
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?426bed110909251459p50ca5564mee568e14bd26d8cd>