[Prev][Next][Index][Thread]

making a `get_utl(...)' using the ComLine example



I have some code which reads (or more to the point, is supposed to read)
documents referenced by URLs. When run this software works OK for one or
two documents but fails on the third or fourth document. 

Because of the overall organization of the software, I have written a
function which reads the document, stores it in a temporary file and returns
a FILE * to that temp file. The software I have is based on the ComLine
example source code.

The question I have is is there a better example to work from? Am I making
some obvious error (which those with more wwwlib experience than I
recognize)? 

Platform: SunOS 4.1.3 Sparc IPX. wwwlib compiled with gcc 2.7.2

Here is some more information about how the software fails after reading two
documents: When I turn wwwlib trace mode on (all options except
SHOW_MEM_TRACE) the first docs are preceded by the following (with many other
messages elided):

    .
    .
    .
    RequestInit. initializing RQ entry for socket 3
    Req Update.. updating for socket 3
    Register.... Registering socket as readable
    Event Loop.. calling select: maxfds is 3
    Event Loop.. select returns 1
    Processing.. Read socket set. max_sock is 3
    Retrieve.... Found socket 3
    Read Socket. 1153 bytes read from socket 3
    Reading...
    HTTP/1.0 200 OK
    Date: Monday, 13-May-96 22:46:04 GMT
	
However, for the third doc, the trace looks like:

    .
    .
    .
    RequestInit. initializing RQ entry for socket 4
    Req Update.. updating for socket 4
    Register.... Registering socket as readable
    Event Loop.. calling select: maxfds is 4
    Event Loop.. select returns 1
    Processing.. Read socket set. max_sock is 4
    Retrieve.... Found socket 3
    Read Socket. Finished loading socket 3
    Finished

The last three lines look suspicious since it seems to be saying that the
incoming data is on descriptor 4 but then reads (nothing) from descriptor 3.
Maybe that's the problem? If so, how do I fix it?

On the server-side the httpd access_log shows three normal accesses, all of
which succeeded.

Sorry for the long post - any help will be greatly appreciated!

-- 
__________________________________________________________________________

James Gallagher		         The Distributed Oceanographic Data System
jgallagher@gso.uri.edu                            http://dods.gso.uri.edu/