Diff for /libwww/Robot/src/HTRobot.c between versions 1.39 and 1.40

version 1.39, 1996/11/26 23:23:05 version 1.40, 1996/11/28 00:30:32
Line 37 Line 37
   
 #define SHOW_MSG                (WWWTRACE || HTAlert_interactive())  #define SHOW_MSG                (WWWTRACE || HTAlert_interactive())
   
 #define DEFAULT_TIMEOUT         10                     /* timeout in seconds */  #define DEFAULT_TIMEOUT         10000                  /* timeout in millis */
   
 #if defined(__svr4__)  #if defined(__svr4__)
 #define CATCH_SIG  #define CATCH_SIG
Line 56  typedef struct _Robot { Line 56  typedef struct _Robot {
     HTList *            hyperdoc;            /* List of our HyperDoc Objects */      HTList *            hyperdoc;            /* List of our HyperDoc Objects */
     HTList *            htext;                  /* List of our HText Objects */      HTList *            htext;                  /* List of our HText Objects */
     HTList *            fingers;      HTList *            fingers;
     struct timeval *    tv;                             /* Timeout on socket */      int                 timer;
     char *              cwd;                              /* Current dir URL */      char *              cwd;                              /* Current dir URL */
     char *              rules;      char *              rules;
     char *              logfile;      char *              logfile;
Line 163  PRIVATE Robot * Robot_new (void) Line 163  PRIVATE Robot * Robot_new (void)
         HT_OUTOFMEM("Robot_new");          HT_OUTOFMEM("Robot_new");
     me->hyperdoc = HTList_new();      me->hyperdoc = HTList_new();
     me->htext = HTList_new();      me->htext = HTList_new();
     me->tv->tv_sec = DEFAULT_TIMEOUT;      me->timer = DEFAULT_TIMEOUT;
     me->cwd = HTGetCurrentDirectoryURL();      me->cwd = HTGetCurrentDirectoryURL();
     me->output = OUTPUT;      me->output = OUTPUT;
     me->cnt = 0;      me->cnt = 0;
Line 314  PRIVATE int terminate_handler (HTRequest Line 314  PRIVATE int terminate_handler (HTRequest
     return HT_OK;      return HT_OK;
 }  }
   
 #if 0  
 /*      timeout_handler  
 **      ---------------  
 **      This function is registered to handle timeout in select eventloop  
 **  
 **      BUG: This doesn't work as we don't get the right request object  
 **      back from the event loop  
 */  
 PRIVATE int timeout_handler (HTRequest * request)  
 {  
 #if 0  
     Finger * finger = (Finger *) HTRequest_context(request);  
 #endif  
     if (SHOW_MSG) HTTrace("Robot....... We don't know how to handle timeout...\n");  
 #if 0  
     HTRequest_kill(request);  
     Finger_delete(finger);  
 #endif  
     return HT_OK;  
 }  
 #endif  
   
 /* ------------------------------------------------------------------------- */  /* ------------------------------------------------------------------------- */
 /*                              HTEXT INTERFACE                              */  /*                              HTEXT INTERFACE                              */
 /* ------------------------------------------------------------------------- */  /* ------------------------------------------------------------------------- */
Line 514  int main (int argc, char ** argv) Line 492  int main (int argc, char ** argv)
             } else if (!strcmp(argv[arg], "-timeout")) {              } else if (!strcmp(argv[arg], "-timeout")) {
                 int timeout = (arg+1 < argc && *argv[arg+1] != '-') ?                  int timeout = (arg+1 < argc && *argv[arg+1] != '-') ?
                     atoi(argv[++arg]) : DEFAULT_TIMEOUT;                      atoi(argv[++arg]) : DEFAULT_TIMEOUT;
                 if (timeout > 0) mr->tv->tv_sec = timeout;                  if (timeout > 0) mr->timer = timeout;
   
             /* preemptive or non-preemptive access */              /* preemptive or non-preemptive access */
             } else if (!strcmp(argv[arg], "-single")) {              } else if (!strcmp(argv[arg], "-single")) {
Line 604  int main (int argc, char ** argv) Line 582  int main (int argc, char ** argv)
     /* Register our own someterminater filter */      /* Register our own someterminater filter */
     HTNet_addAfter(terminate_handler, NULL, NULL, HT_ALL, HT_FILTER_LAST);      HTNet_addAfter(terminate_handler, NULL, NULL, HT_ALL, HT_FILTER_LAST);
   
       /* Setting event timeout */
       HTHost_setEventTimeout(mr->timer);
   
     /* Start the request */      /* Start the request */
     finger = Finger_new(mr, startAnchor, METHOD_GET);      finger = Finger_new(mr, startAnchor, METHOD_GET);
     if (mr->flags & MR_PREEMPTIVE)      if (mr->flags & MR_PREEMPTIVE)

Removed from v.1.39  
changed lines
  Added in v.1.40


Webmaster