Tcl Source Code

Artifact [a1a8367090]
Login

Artifact a1a83670902d7b7d9a780d13ab4da8a0e7dc095b:

Ticket change [a1a8367090] - Ticket [f4f44174e4] protect notifier against signals status still Open with 3 other changes by aspect 2016-12-06 22:56:05.
D 2016-12-06T22:56:05.676
J icomment ..\salthough\sthis\sis\snot\ssufficient.\s\sAfter\sleaving\sthe\stest\sscript\srunning\sfor\ssome\s3.5m\ssignals,\sI\sget\sanother\slockup.\r\n\r\nFinding\sall\sthe\sinterruptible\ssyscalls\sthat\sneed\sto\sbe\sprotected\sis\ssurely\sgoing\sto\sbe\stedious\sand\serror-prone\s..\sbut\sa\swhole-hog\ssolution\sof\sturning\ssignals\sinto\sevent-loop\sevents,\swhile\ssimpler\sto\scode,\sis\sgoing\sto\srequire\schanges\sin\severy\sexisting\sextension\sthat\s(mis-)uses\ssignals.\r\n\r\n\r\nThis\sparticular\smole\sstuck\sits\shead\sup\swith\sthe\sfollowing\sstack.\s\sNow\stesting\swith\sEINTR\shandling\sto\sFileInputProc/FileOutputProc,\sthough\sI'm\snot\sreally\sconvinced\sthis\sis\ssensible:\r\n\r\n\r\n#0\s\s0x00007f7d482b3afd\sin\s__lll_lock_wait\s()\sfrom\s/lib64/libpthread.so.0\r\n#1\s\s0x00007f7d482ada0d\sin\spthread_mutex_lock\s()\sfrom\s/lib64/libpthread.so.0\r\n#2\s\s0x00007f7d48aa8a6b\sin\sTcl_MutexLock\s(mutexPtr=0x1bd6060)\sat\s/home/aspect/Tcl/Env/src/tcl/unix/tclUnixThrd.c:431\r\n#3\s\s0x00007f7d4891d4ae\sin\sTcl_AsyncMark\s(async=0x1dfbc78)\sat\s/home/aspect/Tcl/Env/src/tcl/generic/tclAsync.c:165\r\n#4\s\s<signal\shandler\scalled>\r\n#5\s\s0x00007f7d48aa8a89\sin\sTcl_MutexUnlock\s(mutexPtr=0x1bd6060)\sat\s/home/aspect/Tcl/Env/src/tcl/unix/tclUnixThrd.c:457\r\n#6\s\s0x00007f7d4891d5c6\sin\sTcl_AsyncInvoke\s(interp=0x1bce2f8,\scode=0)\sat\s/home/aspect/Tcl/Env/src/tcl/generic/tclAsync.c:237\r\n#7\s\s0x00007f7d489232c1\sin\sNRCommand\s(data=0x1c87060,\sinterp=0x1bce2f8,\sresult=0)\sat\s/home/aspect/Tcl/Env/src/tcl/generic/tclBasic.c:4428\r\n#8\s\s0x00007f7d48923129\sin\sTclNRRunCallbacks\s(interp=0x1bce2f8,\sresult=0,\srootPtr=0x1c86fd8)\sat\s/home/aspect/Tcl/Env/src/tcl/generic/tclBasic.c:4398\r\n#9\s\s0x00007f7d48925a9e\sin\sTclEvalObjEx\s(interp=0x1bce2f8,\sobjPtr=0x1bd6060,\sflags=131072,\sinvoker=0x0,\sword=0)\sat\s/home/aspect/Tcl/Env/src/tcl/generic/tclBasic.c:5963\r\n#10\s0x00007f7d48925a34\sin\sTcl_EvalObjEx\s(interp=0x1bce2f8,\sobjPtr=0x0,\sflags=131072)\sat\s/home/aspect/Tcl/Env/src/tcl/generic/tclBasic.c:5944\r\n#11\s0x00007f7d48a355cc\sin\sTclChannelEventScriptInvoker\s(clientData=0x1d3bfd8,\smask=2)\sat\s/home/aspect/Tcl/Env/src/tcl/generic/tclIO.c:8866\r\n#12\s0x00007f7d48a34e03\sin\sTcl_NotifyChannel\s(channel=0x1d26db8,\smask=2)\sat\s/home/aspect/Tcl/Env/src/tcl/generic/tclIO.c:8360\r\n#13\s0x00007f7d48a35003\sin\sChannelTimerProc\s(clientData=0x1d26db8)\sat\s/home/aspect/Tcl/Env/src/tcl/generic/tclIO.c:8526\r\n#14\s0x00007f7d48a827aa\sin\sTimerHandlerEventProc\s(evPtr=0x1ddaf18,\sflags=-3)\sat\s/home/aspect/Tcl/Env/src/tcl/generic/tclTimer.c:593\r\n#15\s0x00007f7d48a58ecf\sin\sTcl_ServiceEvent\s(flags=-3)\sat\s/home/aspect/Tcl/Env/src/tcl/generic/tclNotify.c:670\r\n#16\s0x00007f7d48a591d7\sin\sTcl_DoOneEvent\s(flags=-3)\sat\s/home/aspect/Tcl/Env/src/tcl/generic/tclNotify.c:903\r\n#17\s0x00007f7d489ee656\sin\sTcl_VwaitObjCmd\s(clientData=0x0,\sinterp=0x1bce2f8,\sobjc=2,\sobjv=0x1bd1970)\sat\s/home/aspect/Tcl/Env/src/tcl/generic/tclEvent.c:1416
J login aspect
J mimetype text/plain
K f4f44174e4c88a9132b19bcc4b68346a1d229fe1
U aspect
Z 578a8b1424be3bf7e3656b66b9ea7f46