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.