Documentation Source Text

Check-in [5a80e1c8e7]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Update althttpd.c client to log SIGPIPE and SIGSEGV in addition to SIGALRM.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | version-3.8.4.3
Files: files | file ages | folders
SHA1: 5a80e1c8e7b6e5709a0470ba598975c0909b0546
User & Date: drh 2014-04-26 00:30:59.188
Context
2014-05-26
22:56
Update the download page to support DLL snapshots. (check-in: 3cfd0f3e9a user: drh tags: version-3.8.4.3)
2014-04-26
00:30
Update althttpd.c client to log SIGPIPE and SIGSEGV in addition to SIGALRM. (check-in: 5a80e1c8e7 user: drh tags: version-3.8.4.3)
2014-04-25
20:47
Fix more typos in the foreignkey.html document. (check-in: 25bc66990e user: drh tags: version-3.8.4.3)
Changes
Unified Diff Ignore Whitespace Patch
Changes to misc/althttpd.c.
445
446
447
448
449
450
451
452

453
454
455
456
457





458
459
460
461
462
463
464
465
    "The CGI program %s generated an error\n"
    "</body>\n", zScript);
  MakeLogEntry(0);
  exit(0);
}

/*
** This is called if we timeout.

*/
static void Timeout(int NotUsed){
  (void)NotUsed;
  if( !debugFlag ){
    if( zScript && zScript[0] ){





      strcpy(zReplyStatus, "999");
      MakeLogEntry(0);
    }
    exit(0);
  }
}

/*







|
>

|
<


>
>
>
>
>
|







445
446
447
448
449
450
451
452
453
454
455

456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
    "The CGI program %s generated an error\n"
    "</body>\n", zScript);
  MakeLogEntry(0);
  exit(0);
}

/*
** This is called if we timeout or catch some other kind of signal.
** Log an error code which is 900+iSig and then quit.
*/
static void Timeout(int iSig){

  if( !debugFlag ){
    if( zScript && zScript[0] ){
      char zBuf[10];
      zBuf[0] = '9';
      zBuf[1] = '0' + (iSig/10)%10;
      zBuf[2] = '0' + iSig%10;
      zBuf[3] = 0;
      strcpy(zReplyStatus, zBuf);
      MakeLogEntry(0);
    }
    exit(0);
  }
}

/*
926
927
928
929
930
931
932


933
934
935
936
937
938
939
  }
  nRequest++;

  /*
  ** We must receive a complete header within 15 seconds
  */
  signal(SIGALRM, Timeout);


  if( useTimeout ) alarm(15);

  /* Get the first line of the request and parse out the
  ** method, the script and the protocol.
  */
  if( fgets(zLine,sizeof(zLine),stdin)==0 ){
    exit(0);







>
>







931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
  }
  nRequest++;

  /*
  ** We must receive a complete header within 15 seconds
  */
  signal(SIGALRM, Timeout);
  signal(SIGSEGV, Timeout);
  signal(SIGPIPE, Timeout);
  if( useTimeout ) alarm(15);

  /* Get the first line of the request and parse out the
  ** method, the script and the protocol.
  */
  if( fgets(zLine,sizeof(zLine),stdin)==0 ){
    exit(0);