Hex Artifact Content
Not logged in

Artifact cd5c58435cba499ee7952d3fe0363cfaa61a9aac:

Ticket change [cd5c58435c] - Ticket [4060715d46] Implement FastCGI interface status still Open with 2 other changes by stephan 2011-09-14 18:13:47.
0000: 44 20 32 30 31 31 2d 30 39 2d 31 34 54 31 38 3a  D 2011-09-14T18:
0010: 31 33 3a 34 37 2e 31 36 38 0a 4a 20 2b 63 6f 6d  13:47.168.J +com
0020: 6d 65 6e 74 20 5c 6e 5c 6e 3c 68 72 5c 73 2f 3e  ment \n\n<hr\s/>
0030: 3c 69 3e 73 74 65 70 68 61 6e 5c 73 61 64 64 65  <i>stephan\sadde
0040: 64 5c 73 6f 6e 5c 73 32 30 31 31 2d 30 39 2d 31  d\son\s2011-09-1
0050: 34 5c 73 31 38 3a 31 33 3a 34 37 5c 73 55 54 43  4\s18:13:47\sUTC
0060: 3a 3c 2f 69 3e 3c 62 72 5c 73 2f 3e 5c 6e 4a 75  :</i><br\s/>\nJu
0070: 73 74 5c 73 73 6f 6d 65 5c 73 72 61 6e 64 6f 6d  st\ssome\srandom
0080: 5c 73 6e 6f 74 65 73 3a 5c 72 5c 6e 5c 72 5c 6e  \snotes:\r\n\r\n
0090: 2d 5c 73 46 61 73 74 43 47 49 5c 73 72 65 71 75  -\sFastCGI\srequ
00a0: 69 72 65 73 5c 73 74 68 65 5c 73 67 6c 6f 62 61  ires\sthe\sgloba
00b0: 6c 5c 73 75 73 65 5c 73 6f 66 5c 73 46 61 73 74  l\suse\sof\sFast
00c0: 43 47 49 5c 73 64 72 6f 70 2d 69 6e 5c 73 72 65  CGI\sdrop-in\sre
00d0: 70 6c 61 63 65 6d 65 6e 74 73 5c 73 66 6f 72 5c  placements\sfor\
00e0: 73 72 65 61 64 2f 77 72 69 74 65 5c 73 63 61 6c  sread/write\scal
00f0: 6c 73 2e 5c 73 41 4c 4c 5c 73 63 6f 64 65 5c 73  ls.\sALL\scode\s
0100: 75 73 69 6e 67 5c 73 74 68 65 5c 73 66 72 65 61  using\sthe\sfrea
0110: 64 2f 66 77 72 69 74 65 2f 61 6e 64 5c 73 66 72  d/fwrite/and\sfr
0120: 69 65 6e 64 73 5c 73 41 50 49 73 5c 73 6d 75 73  iends\sAPIs\smus
0130: 74 5c 73 75 73 65 5c 73 74 68 65 5c 73 46 61 73  t\suse\sthe\sFas
0140: 74 43 47 49 5c 73 72 65 70 6c 61 63 65 6d 65 6e  tCGI\sreplacemen
0150: 74 73 2e 5c 72 5c 6e 5c 72 5c 6e 2d 5c 73 54 68  ts.\r\n\r\n-\sTh
0160: 65 5c 73 46 61 73 74 43 47 49 5c 73 77 72 61 70  e\sFastCGI\swrap
0170: 70 65 72 5c 73 66 6f 72 5c 73 66 77 72 69 74 65  per\sfor\sfwrite
0180: 28 29 5c 73 68 61 73 5c 73 61 5c 73 62 72 6f 6b  ()\shas\sa\sbrok
0190: 65 6e 5c 73 74 79 70 65 5c 73 73 69 67 6e 61 74  en\stype\ssignat
01a0: 75 72 65 2c 5c 73 70 6f 73 73 69 62 6c 79 5c 73  ure,\spossibly\s
01b0: 72 65 71 75 69 72 69 6e 67 5c 73 61 5c 73 6b 6c  requiring\sa\skl
01c0: 75 64 67 65 5c 73 69 6e 5c 73 74 68 65 5c 73 63  udge\sin\sthe\sc
01d0: 6c 69 65 6e 74 5c 73 63 6f 64 65 3a 5c 72 5c 6e  lient\scode:\r\n
01e0: 5c 72 5c 6e 23 5c 73 5c 73 64 65 66 69 6e 65 5c  \r\n#\s\sdefine\
01f0: 73 46 57 52 49 54 45 28 70 2c 5c 73 73 2c 5c 73  sFWRITE(p,\ss,\s
0200: 6e 2c 5c 73 66 29 5c 73 46 43 47 49 5f 66 77 72  n,\sf)\sFCGI_fwr
0210: 69 74 65 28 28 76 6f 69 64 5c 73 2a 29 70 2c 5c  ite((void\s*)p,\
0220: 73 73 2c 5c 73 6e 2c 5c 73 66 29 5c 72 5c 6e 5c  ss,\sn,\sf)\r\n\
0230: 72 5c 6e 46 43 47 49 5f 66 77 72 69 74 65 28 29  r\nFCGI_fwrite()
0240: 5c 73 69 73 5c 73 64 65 66 69 6e 65 64 5c 73 74  \sis\sdefined\st
0250: 6f 5c 73 74 61 6b 65 5c 73 61 5c 73 5f 6e 6f 6e  o\stake\sa\s_non
0260: 2d 63 6f 6e 73 74 5f 5c 73 70 6f 69 6e 74 65 72  -const_\spointer
0270: 5c 73 61 73 5c 73 74 68 65 5c 73 73 72 63 5c 73  \sas\sthe\ssrc\s
0280: 6d 65 6d 6f 72 79 5c 73 61 64 64 72 65 73 73 2c  memory\saddress,
0290: 5c 73 77 68 69 63 68 5c 73 69 73 5c 73 69 6e 63  \swhich\sis\sinc
02a0: 6f 6d 70 61 74 69 62 6c 65 5c 73 77 69 74 68 5c  ompatible\swith\
02b0: 73 66 77 72 69 74 65 28 29 5c 73 61 6e 64 5c 73  sfwrite()\sand\s
02c0: 62 72 65 61 6b 73 5c 73 63 6f 64 65 5c 73 77 68  breaks\scode\swh
02d0: 69 63 68 5c 73 72 65 66 65 72 65 6e 63 65 73 5c  ich\sreferences\
02e0: 73 66 77 72 69 74 65 5c 73 76 69 61 5c 73 66 75  sfwrite\svia\sfu
02f0: 6e 63 74 69 6f 6e 5c 73 70 6f 69 6e 74 65 72 2e  nction\spointer.
0300: 5c 72 5c 6e 5c 72 5c 6e 41 64 64 69 74 69 6f 6e  \r\n\r\nAddition
0310: 61 6c 6c 79 2c 5c 73 46 61 73 74 43 47 49 5c 73  ally,\sFastCGI\s
0320: 72 65 71 75 69 72 65 73 5c 73 70 65 72 2d 61 70  requires\sper-ap
0330: 70 2d 72 75 6e 5c 73 73 74 61 74 65 2c 5c 73 77  p-run\sstate,\sw
0340: 68 69 63 68 5c 73 66 6f 73 73 69 6c 27 73 5c 73  hich\sfossil's\s
0350: 61 72 63 68 69 74 65 63 74 75 72 65 5c 73 63 61  architecture\sca
0360: 6e 6e 6f 74 5c 73 68 61 6e 64 6c 65 5c 73 28 69  nnot\shandle\s(i
0370: 74 5c 73 6d 61 6b 65 73 5c 73 68 65 61 76 79 5c  t\smakes\sheavy\
0380: 73 75 73 65 5c 73 6f 66 5c 73 67 6c 6f 62 61 6c  suse\sof\sglobal
0390: 5c 73 73 74 61 74 65 29 2e 5c 73 54 68 61 74 5c  \sstate).\sThat\
03a0: 73 73 61 69 64 2c 5c 73 44 52 48 5c 73 6f 6e 63  ssaid,\sDRH\sonc
03b0: 65 5c 73 73 75 67 67 65 73 74 65 64 5c 73 74 68  e\ssuggested\sth
03c0: 65 5c 73 66 6f 72 6b 28 29 69 6e 67 5c 73 65 61  e\sfork()ing\sea
03d0: 63 68 5c 73 69 6e 73 74 61 6e 63 65 5c 73 61 73  ch\sinstance\sas
03e0: 5c 73 61 5c 73 77 6f 72 6b 61 72 6f 75 6e 64 2e  \sa\sworkaround.
03f0: 5c 73 54 68 65 5c 73 63 6f 73 74 5c 73 6f 66 5c  \sThe\scost\sof\
0400: 73 66 6f 72 6b 28 29 69 6e 67 5c 73 5f 6d 69 67  sfork()ing\s_mig
0410: 68 74 5f 2c 5c 73 68 6f 77 65 76 65 72 2c 5c 73  ht_,\showever,\s
0420: 62 65 5c 73 61 73 5c 73 68 69 67 68 5c 73 61 73  be\sas\shigh\sas
0430: 5c 73 5f 6e 6f 74 5f 5c 73 75 73 69 6e 67 5c 73  \s_not_\susing\s
0440: 46 61 73 74 43 47 49 2e 5c 72 5c 6e 0a 4a 20 72  FastCGI.\r\n.J r
0450: 65 73 6f 6c 75 74 69 6f 6e 20 4f 70 65 6e 0a 4b  esolution Open.K
0460: 20 34 30 36 30 37 31 35 64 34 36 31 36 35 30 35   4060715d4616505
0470: 39 32 37 32 37 31 36 32 37 37 37 37 39 37 61 63  92727162777797ac
0480: 65 36 66 62 38 33 64 37 62 0a 55 20 73 74 65 70  e6fb83d7b.U step
0490: 68 61 6e 0a 5a 20 32 61 34 38 30 66 33 62 63 37  han.Z 2a480f3bc7
04a0: 31 33 64 32 63 61 34 33 61 62 62 62 36 38 66 30  13d2ca43abbb68f0
04b0: 38 61 38 35 66 33 0a                             8a85f3.