[TEST CASE] pending call stuck in poll bug

John (J5) Palmieri johnp at redhat.com
Wed Mar 1 16:25:49 PST 2006


I had a eureka moment and finally distilled the python introspect
problem down to a simple C test case.  This is the cause of
hal-device-manager taking ages to start up but I am not sure what the
fix would be.

Basically it happens when you create two pending calls and then block on
the one that you sent last.  My best guess is that the second pending
call is starving the data from the socket without actually processing
any of the data it doesn't care about.  When be block on the first
pending call there is no data to read over the socket so it blocks for
its specified timeout in poll.  When it times out the data is processed
and the correct things happen.  Hopefully now that the problem is
identified we can find a solution and package this as part of the test
suite.

-- 
John (J5) Palmieri <johnp at redhat.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.c
Type: text/x-csrc
Size: 1062 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/dbus/attachments/20060301/7228f026/test.c


More information about the dbus mailing list