- From: olga <olga@goliath.eai.com>
- Date: Sun, 17 Jan 1999 18:29:45 -0600 (CST)
- To: www-lib@w3.org
Henrik, I have tried you fix. Now select doesn't return error, but sometime hangs. And again it happens when some host closes connection (?). In the trace below the previous request (to the one that hangs) was stopped in the before filter. Maybe this somehow interferes with the last request? Did you make relevant changes to modules other than HTChannl.c? I am wondering because I have noticed that wwwsys.h has the same modification date and time. Thanks for you help. Olga. -------------------------------------------------- There is the trace: Request..... Created 1002d7f8 Net Before.. Add 4190ac with order 0 tmplate `*' context 7fff1afc Net After... Add 417920 with order 65535 tmplate `<null>' code 1 context 0 Net After... Add 41830c with order 32767 tmplate `<null>' code 200 context 0 Net After... Add 45992c with order 32767 tmplate `<null>' code -401 context 0 HTAccess.... Accessing document http://kingkong:1080/projects/Demos/mars_rover/rover_jt/abdomen_rear.jt HTNet. ------------- HTNet_newClient Net Before.. calling 4190ac (request 1002d7f8, context 7fff1afc) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this request is cancelled in before filter Net After... Delete 41830c Timer....... Created one shot timer 1002c830 with callback 422c6c, context 10078598, and relative timeout 1 Event Loop.. calling select: maxfds is 11 Event Loop.. select returns 0 Timer....... Dispatch timer 1002c830 HTNet: AfterFilterEvent HTNet....... Continuing calling AFTER filters 10078598 with timer 1002c830 HTNet_executeAfterAll. Calling HTNetCall_executeAfter for locals Net After... ENTERING HTNetCall_executeAfter, visit No = 316 Response.... Created 1007acb8 Net After... calling 417920 (request 1002d7f8, response 1007acb8, status -200, context 0), visit No = 316 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Here next request is started: Request..... Created 1005b080 Net Before.. Add 4190ac with order 0 tmplate `*' context 7fff1afc Net After... Add 417920 with order 65535 tmplate `<null>' code 1 context 0 Net After... Add 41830c with order 32767 tmplate `<null>' code 200 context 0 Net After... Add 45992c with order 32767 tmplate `<null>' code -401 context 0 Error....... Add 53 Severity: 2 Parameter: `/var/tmp/hhaa0034p.jt' Where: `HTLoadToFile' Event Loop.. calling select: maxfds is 11 Event Loop.. select returns 1 EventOrder.. execute ordered events EventList... calling socket 11, request 1005b080 handler 42651c type HTEvent_READ Host Event.. host 1004a010 `kingkong' closed connection. Event.. Entering HTEventList_unregister Event....... No more events registered for socket 11 Event....... Reset MaxSock from 11 to 1 Event....... Socket 11 unregistered for HTEvent_READ Event.. Entering HTEventList_unregister Event....... Couldn't find socket 11. Can't unregister type HTEvent_WRITE Channel..... Delete 1003b3b8 with semaphore 0 Socket read. FREEING.... Socket write FREEING.... Event.. Entering HTEventList_unregister Event....... Couldn't find socket 11. Can't unregister type 0xffff Net Manager. Decreasing active sockets to 0, 1 persistent sockets Channel..... Deleted 1003b3b8, socket 11 Net Manager. 0 active sockets, decreasing persistent sockets to 0 Host info... removed host 1004a010 as persistent Event Loop.. calling select: maxfds is 1 Event Loop.. select returns 0 Timer....... Dispatch timer 1005bf60 Host Event.. host 1004a010 `kingkong' closed connection. Event Loop.. calling select: maxfds is 1 Timer....... Dispatch timer 1005bf60 Host Event.. host 1004a010 `kingkong' closed connection. Event Loop.. calling select: maxfds is 1 ------------------------------------------------------------------- On 15-Jan-99 Henrik Frystyk Nielsen wrote: > > Excellent analysis - yes I think this is the problem - and the > uncommented line with a bogus parameter seems to indicate this wasn't > quite finished as should have been. I have committed this patch which I > think solves the problem: > > http://dev.w3.org/cgi-bin/cvsweb/libwww/Library/src/HTChannl.c > > Please try it out and see what happens. > > Thanks! > > Henrik > >> ///////////////////////////////////////////////////////////////// >> >> In CHChannl : free_channel(..) >> ch->sockfd is set to INVSOC. >> >> /* Close the socket */ >> if (ch->sockfd != INVSOC) { >> NETCLOSE(ch->sockfd); >> /* HTEvent_unregister(ch->sockfd, all options); */ >> HTNet_decreaseSocket(); >> if (PROT_TRACE) >> HTTrace("Channel..... Deleted %p, socket %d\n", >> ch,ch->sockfd); >> ch->sockfd = INVSOC; >> >> Could this cause the problem? Maybe the socket should be deleted from the >> fd_set >> also before calling select on this set? >> >> Thanks, >> >> Olga Antropova. ---------------------------------- E-Mail: olga <olga@eai.com> Date: 17-Jan-99 Time: 18:05:01 This message was sent by XFMail ----------------------------------
Received on Sunday, 17 January 1999 19:26:04 UTC