W3C home > Mailing lists > Public > www-lib@w3.org > July to September 1999

Impossible to request more than one local file?

From: Steinar Bang <sb@metis.no>
Date: 16 Sep 1999 19:14:41 +0200
To: www-lib@w3.org
Message-ID: <whiu5azsla.fsf@viffer.oslo.metis.no>
Platform: CVS checkout of libwww on SuSE linux 5.3, and NT4

Is it impossible to request more than one local file at any given
time? 

Right now my program works fine when loading files over HTTP, and fine
when loading single local files.  It does not work fine with local
files that trigger a series of requests for other local files.

The reason for this is that all other requests than the first one are
put in the pending list of the "localhost" HTHost object, instead of
the pipeline.

Since they're not in the pipeline HTHost_read() returns with
HT_WOULD_BLOCK instead of returning the result of the actual read of
the input stream, when called from FS_NEED_BODY: in FileOpen().

I have registered the "file" and "cache" protocols as preemptive, to
be able to skip out of FS_NEED_OPEN_FILE: in FileOpen() and get back
to the main event loop of the GUI.

I had to do this to avoid the program blocking while it was reading
all files.

Do I have to keep track of the file URLs outside of libwww and only
request them one by one?

That seems like a waste when the requests are already residing in a
list in the HTHost object.  It's just that I have no idea how to
activate them.

I tried using HTHost_launchPending() but that didn't work, and the
code looks like it does the wrong thing (calls HTNet_execute() with
HTEvent_WRITE as the argument, when what I want to do is READ).
Received on Thursday, 16 September 1999 13:14:49 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 5 February 2014 07:15:17 UTC