Tcl Source Code

Hex Artifact Content
Login

Artifact 934bb3a69d721587f74d67c731443655e4bc9a56b14dc0c21ba7c3fcdc739b32:

Ticket change [934bb3a69d] - Ticket [de232b49f26da1c1|de232b49f2] <i>write-only nonblocking refchan and Tcl internal buffers</i> status still Open with 3 other changes by apnadkarni 2024-04-02 03:16:12.
0000: 44 20 32 30 32 34 2d 30 34 2d 30 32 54 30 33 3a  D 2024-04-02T03:
0010: 31 36 3a 31 32 2e 39 39 37 0a 4a 20 69 63 6f 6d  16:12.997.J icom
0020: 6d 65 6e 74 20 4e 61 74 68 61 6e 2c 5c 72 5c 6e  ment Nathan,\r\n
0030: 5c 72 5c 6e 2a 49 27 76 65 5c 73 63 72 65 61 74  \r\n*I've\screat
0040: 65 64 5c 73 61 5c 73 6e 65 77 5c 73 74 69 63 6b  ed\sa\snew\stick
0050: 65 74 2c 5c 73 5b 61 63 37 35 39 32 65 37 33 63  et,\s[ac7592e73c
0060: 31 30 64 30 34 62 5d 2c 5c 73 66 6f 72 5c 73 74  10d04b],\sfor\st
0070: 68 65 5c 73 69 64 6c 65 5c 73 71 75 65 75 65 5c  he\sidle\squeue\
0080: 73 73 74 61 72 76 61 74 69 6f 6e 5c 73 74 68 61  sstarvation\stha
0090: 74 5c 73 41 73 68 6f 6b 5c 73 70 72 6f 76 69 64  t\sAshok\sprovid
00a0: 65 64 5c 73 61 6e 5c 73 65 78 61 6d 70 6c 65 5c  ed\san\sexample\
00b0: 73 6f 66 2c 5c 73 61 6e 64 5c 73 61 6c 73 6f 5c  sof,\sand\salso\
00c0: 73 66 69 78 65 64 5c 73 74 68 65 5c 73 69 73 73  sfixed\sthe\siss
00d0: 75 65 5c 73 62 79 5c 73 68 61 76 69 6e 67 5c 73  ue\sby\shaving\s
00e0: 74 63 6c 49 4f 2e 63 2f 43 68 61 6e 6e 65 6c 54  tclIO.c/ChannelT
00f0: 69 6d 65 72 50 72 6f 63 28 29 5c 73 75 73 5c 73  imerProc()\sus\s
0100: 74 68 65 5c 73 69 64 6c 65 5c 73 71 75 65 75 65  the\sidle\squeue
0110: 5c 73 69 6e 73 74 65 61 64 5c 73 6f 66 5c 73 74  \sinstead\sof\st
0120: 68 65 5c 73 73 74 61 6e 64 61 72 64 5c 73 71 75  he\sstandard\squ
0130: 65 75 65 5c 73 74 6f 5c 73 72 65 73 63 68 65 64  eue\sto\sresched
0140: 75 6c 65 5c 73 69 74 73 65 6c 66 2e 2a 5c 72 5c  ule\sitself.*\r\
0150: 6e 5c 72 5c 6e 54 68 65 5c 73 66 6f 6c 6c 6f 77  n\r\nThe\sfollow
0160: 69 6e 67 5c 73 63 6f 6e 63 65 72 6e 73 5c 73 63  ing\sconcerns\sc
0170: 6f 6d 65 5c 73 74 6f 5c 73 6d 69 6e 64 5c 73 77  ome\sto\smind\sw
0180: 69 74 68 5c 73 74 68 69 73 5c 73 63 68 61 6e 67  ith\sthis\schang
0190: 65 3a 5c 72 5c 6e 5c 72 5c 6e 2d 5c 73 43 68 61  e:\r\n\r\n-\sCha
01a0: 6e 67 69 6e 67 5c 73 74 6f 5c 73 74 68 65 5c 73  nging\sto\sthe\s
01b0: 69 64 6c 65 5c 73 71 75 65 75 65 5c 73 77 6f 75  idle\squeue\swou
01c0: 6c 64 5c 73 73 65 65 6d 5c 73 74 6f 5c 73 68 61  ld\sseem\sto\sha
01d0: 76 65 5c 73 73 69 6d 69 6c 61 72 5c 73 65 66 66  ve\ssimilar\seff
01e0: 65 63 74 73 5c 73 74 6f 5c 73 63 68 61 6e 67 69  ects\sto\schangi
01f0: 6e 67 5c 73 74 68 65 5c 73 53 59 4e 54 48 45 54  ng\sthe\sSYNTHET
0200: 49 43 5f 54 49 4d 45 52 5c 73 66 72 6f 6d 5c 73  IC_TIMER\sfrom\s
0210: 30 5c 73 74 6f 5c 73 61 5c 73 70 6f 73 69 74 69  0\sto\sa\spositi
0220: 76 65 5c 73 6e 75 6d 62 65 72 2e 5c 73 54 68 65  ve\snumber.\sThe
0230: 5c 73 63 6f 6d 6d 65 6e 74 73 5c 73 66 6f 72 5c  \scomments\sfor\
0240: 73 74 68 61 74 5c 73 23 64 65 66 69 6e 65 5c 73  sthat\s#define\s
0250: 73 70 65 63 69 66 69 63 61 6c 6c 79 5c 73 77 61  specifically\swa
0260: 72 6e 5c 73 61 67 61 69 6e 73 74 5c 73 74 68 61  rn\sagainst\stha
0270: 74 2e 5c 72 5c 6e 5c 72 5c 6e 2d 5c 73 50 6f 73  t.\r\n\r\n-\sPos
0280: 74 69 6e 67 5c 73 74 6f 5c 73 74 68 65 5c 73 69  ting\sto\sthe\si
0290: 64 6c 65 5c 73 71 75 65 75 65 5c 73 77 68 65 6e  dle\squeue\swhen
02a0: 5c 73 6f 74 68 65 72 5c 73 66 69 6c 65 5c 73 65  \sother\sfile\se
02b0: 76 65 6e 74 73 5c 73 61 72 65 5c 73 70 6f 73 74  vents\sare\spost
02c0: 65 64 5c 73 74 6f 5c 73 74 68 65 5c 73 65 76 65  ed\sto\sthe\seve
02d0: 6e 74 5c 73 71 75 65 75 65 5c 73 73 65 65 6d 73  nt\squeue\sseems
02e0: 5c 73 6c 69 6b 65 5c 73 69 74 5c 73 63 6f 75 6c  \slike\sit\scoul
02f0: 64 5c 73 6c 65 61 64 5c 73 74 6f 5c 73 74 68 65  d\slead\sto\sthe
0300: 5c 73 72 65 76 65 72 73 65 5c 73 73 69 74 75 61  \sreverse\ssitua
0310: 74 69 6f 6e 5c 73 77 68 65 72 65 5c 73 79 6f 75  tion\swhere\syou
0320: 72 5c 73 70 6f 73 74 65 64 5c 73 65 76 65 6e 74  r\sposted\sevent
0330: 73 5c 73 61 72 65 5c 73 73 74 61 72 76 65 64 2e  s\sare\sstarved.
0340: 5c 72 5c 6e 5c 72 5c 6e 2d 5c 73 47 69 76 65 6e  \r\n\r\n-\sGiven
0350: 5c 73 74 68 61 74 5c 73 65 76 65 6e 74 5c 73 70  \sthat\sevent\sp
0360: 72 6f 63 65 73 73 69 6e 67 5c 73 69 6e 5c 73 60  rocessing\sin\s`
0370: 54 63 6c 5f 44 6f 4f 6e 65 45 76 65 6e 74 60 5c  Tcl_DoOneEvent`\
0380: 73 61 6e 64 5c 73 69 74 73 5c 73 69 6c 6b 5c 73  sand\sits\silk\s
0390: 61 6c 6c 6f 77 73 5c 73 66 69 6c 74 65 72 69 6e  allows\sfilterin
03a0: 67 5c 73 62 61 73 65 64 5c 73 6f 6e 5c 73 66 6c  g\sbased\son\sfl
03b0: 61 67 73 5c 73 60 54 43 4c 5f 46 49 4c 45 5f 45  ags\s`TCL_FILE_E
03c0: 56 45 4e 54 53 7c 54 43 4c 5f 54 49 4d 45 52 5f  VENTS|TCL_TIMER_
03d0: 45 56 45 4e 54 53 7c 54 43 4c 5f 49 44 4c 45 5f  EVENTS|TCL_IDLE_
03e0: 45 56 45 4e 54 53 60 5c 73 74 68 69 73 5c 73 66  EVENTS`\sthis\sf
03f0: 75 72 74 68 65 72 5c 73 63 6f 6e 66 75 73 65 73  urther\sconfuses
0400: 5c 73 77 68 61 74 5c 73 74 68 6f 73 65 5c 73 66  \swhat\sthose\sf
0410: 6c 61 67 73 5c 73 6d 65 61 6e 2e 5c 73 57 69 6c  lags\smean.\sWil
0420: 6c 5c 73 79 6f 75 72 5c 73 65 76 65 6e 74 73 5c  l\syour\sevents\
0430: 73 66 69 72 65 5c 73 69 6e 5c 73 61 5c 73 54 43  sfire\sin\sa\sTC
0440: 4c 5f 46 49 4c 45 5f 45 56 45 4e 54 53 5c 73 6c  L_FILE_EVENTS\sl
0450: 6f 6f 70 3f 5c 72 5c 6e 5c 72 5c 6e 48 6f 77 65  oop?\r\n\r\nHowe
0460: 76 65 72 2c 5c 73 49 5c 73 61 6d 5c 73 6e 6f 74  ver,\sI\sam\snot
0470: 5c 73 67 6f 69 6e 67 5c 73 74 6f 5c 73 73 70 65  \sgoing\sto\sspe
0480: 6e 64 5c 73 74 69 6d 65 5c 73 63 68 61 73 69 6e  nd\stime\schasin
0490: 67 5c 73 74 68 65 5c 73 61 62 6f 76 65 5c 73 77  g\sthe\sabove\sw
04a0: 68 65 6e 5c 73 49 5c 73 62 65 6c 69 65 76 65 5c  hen\sI\sbelieve\
04b0: 73 74 68 65 5c 73 66 75 6e 64 61 6d 65 6e 74 61  sthe\sfundamenta
04c0: 6c 5c 73 64 65 73 69 67 6e 5c 73 69 74 73 65 6c  l\sdesign\sitsel
04d0: 66 5c 73 69 73 5c 73 66 6c 61 77 65 64 2c 5c 73  f\sis\sflawed,\s
04e0: 69 72 72 65 73 70 65 63 74 69 76 65 5c 73 6f 66  irrespective\sof
04f0: 5c 73 77 68 65 74 68 65 72 5c 73 79 6f 75 5c 73  \swhether\syou\s
0500: 75 73 65 5c 73 74 68 65 5c 73 74 69 6d 65 72 5c  use\sthe\stimer\
0510: 73 71 75 65 75 65 5c 73 6f 72 5c 73 74 68 65 5c  squeue\sor\sthe\
0520: 73 69 64 6c 65 5c 73 71 75 65 75 65 2e 0a 4a 20  sidle\squeue..J 
0530: 6c 6f 67 69 6e 20 61 70 6e 61 64 6b 61 72 6e 69  login apnadkarni
0540: 0a 4a 20 6d 69 6d 65 74 79 70 65 20 74 65 78 74  .J mimetype text
0550: 2f 78 2d 6d 61 72 6b 64 6f 77 6e 0a 4b 20 64 65  /x-markdown.K de
0560: 32 33 32 62 34 39 66 32 36 64 61 31 63 31 38 65  232b49f26da1c18e
0570: 30 37 35 31 33 64 34 63 37 63 61 61 32 30 33 63  07513d4c7caa203c
0580: 64 32 37 39 31 30 0a 55 20 61 70 6e 61 64 6b 61  d27910.U apnadka
0590: 72 6e 69 0a 5a 20 36 62 39 34 38 32 65 66 31 36  rni.Z 6b9482ef16
05a0: 39 34 30 61 39 38 62 35 36 35 34 34 63 66 30 66  940a98b56544cf0f
05b0: 31 35 39 36 37 35 0a                             159675.