hald spins in a poll/read loop against /dev/usb with CURRENT

Rohit Grover rgrover1 at gmail.com
Fri Sep 25 21:59:24 UTC 2009


On Fri, Sep 25, 2009 at 9:32 PM, Gary Jennejohn
<gary.jennejohn at freenet.de> wrote:
> On Fri, 25 Sep 2009 21:23:12 +0800
> Rohit Grover <rgrover1 at gmail.com> wrote:
>
>> Hald spins endlessly on my CURRENT. I have the following from truss:
>>
>> open("/dev/usb",O_RDONLY,00)                     = 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) = 1 (0x1)
>> gettimeofday({1253883730.961100 },0x0)           = 0 (0x0)
>> read(12,0xbfbfe56c,384)                          = 0 (0x0)
>> gettimeofday({1253883730.961158 },0x0)           = 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) = 1 (0x1)
>> gettimeofday({1253883730.961228 },0x0)           = 0 (0x0)
>> read(12,0xbfbfe56c,384)                          = 0 (0x0)
>> gettimeofday({1253883730.961286 },0x0)           = 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) = 1 (0x1)
>> gettimeofday({1253883730.961357 },0x0)           = 0 (0x0)
>> read(12,0xbfbfe56c,384)                          = 0 (0x0)
>> gettimeofday({1253883730.961415 },0x0)           = 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?  I'm pretty 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().


More information about the freebsd-current mailing list