Multiple local file:// requests

I'm building an application that downloads many files at a time, including
local files. When I request a lot of web documents at once (HTLoadAnchor)
and enter the event loop, all the requests finish as expected. It's very
fast too, I'm assuming because of the pipelining.

However, when I try to request more than one file from the local filesystem,
libwww seems to get stuck in the event loop, calling select() continuously.

Something like this works:
HTLoadAnchor(...);
HTEventList_newLoop();
HTLoadAnchor(...);
HTEventList_newLoop();
HTLoadAnchor(...);
HTEventList_newLoop();

But this doesn't:
HTLoadAnchor(...);
HTLoadAnchor(...);
HTLoadAnchor(...);
HTLoadAnchor(...);
HTEventList_newLoop();

Any ideas?

One clue: After the first load, I see a message like:
Event....... Register socket 3, request 0x8055e98 handler 0x400a467c type
HTEvent_READ at priority 20
Event....... Registering socket for HTEvent_READ
Event....... New value for MaxSock is 3

at the end of the HTLoadAnchor() call for the first file (socket 3 is the
first file opened). But these two lines are missing from the second and
subsequent HTLoadAnchor calls. Is this normal? There are more sockets
opened, but the select() call seems to be passed 3 as the max socket
argument, even if sockets above that are opened.

I can post code fragments or debug output if people think they can help me.
-- 
Sam Couter                                             sam@topic.com.au
Internet Engineer
tSA Consulting

Received on Monday, 13 September 1999 04:49:40 UTC