Tcl package Thread source code

Artifact [29ce06d945]
Login

Artifact 29ce06d945ad9aa7e2b023f401063667c0999f1744c87b979cc01dea3ed46851:

Ticket change [29ce06d945] - Ticket [b5709ea906] [::thread::send -async] posting order not respected when sending to current thread status still Open with 4 other changes by adrianmedranocalvo 2018-08-10 10:37:55.
D 2018-08-10T10:37:55.039
J icomment Hello,\r\n\r\nImplemented\sthe\ssuggested\schange,\splease\ssee\spatch\sbelow.\s\sTests\spass:\r\n\r\n~~~\r\nOnly\srunning\stests\sthat\smatch:\s\s*\r\nSkipping\stest\sfiles\sthat\smatch:\s\sl.*.test\r\nOnly\ssourcing\stest\sfiles\sthat\smatch:\s\s*.test\r\nTests\sbegan\sat\sFri\sAug\s10\s11:57:28\sCEST\s2018\r\nThread\s2.8.0\r\nMainthread\sid\sis\stid0x7fff8e159380\r\nthread.test\r\ntkt-84be1b5a73.test\r\n\r\ntpool.test\r\ntsv.test\r\nttrace.test\r\n\r\nTests\sended\sat\sFri\sAug\s10\s11:57:43\sCEST\s2018\r\nall.tcl:\s\s\s\s\s\s\s\sTotal\s\s\s136\s\s\s\s\sPassed\s\s120\s\s\s\s\sSkipped\s16\s\s\s\s\s\sFailed\s\s0\r\nSourced\s0\sTest\sFiles.\r\nNumber\sof\stests\sskipped\sfor\seach\sconstraint:\r\n\s\s\s\s\s\s\s\s8\s\s\s\s\s\s\shave_gdbm\r\n\s\s\s\s\s\s\s\s8\s\s\s\s\s\s\shave_lmdb\r\n~~~\r\n\r\n~~~\r\ndiff\s--git\sc/src/tcl8.6.6/pkgs/thread2.8.0/generic/threadCmd.c\si/src/tcl8.6.6/pkgs/thread2.8.0/generic/threadCmd.c\r\nindex\s9744230c3..b9af96475\s100644\r\n---\sc/src/tcl8.6.6/pkgs/thread2.8.0/generic/threadCmd.c\r\n+++\si/src/tcl8.6.6/pkgs/thread2.8.0/generic/threadCmd.c\r\n@@\s-343,9\s+343,6\s@@\sThreadErrorProc(Tcl_Interp\s*interp);\r\n\sstatic\svoid\r\n\sThreadFreeProc(ClientData\sclientData);\r\n\s\r\n-static\svoid\r\n-ThreadIdleProc(ClientData\sclientData);\r\n-\r\n\sstatic\svoid\r\n\sThreadExitProc(ClientData\sclientData);\r\n\s\r\n@@\s-2697,21\s+2694,13\s@@\sThreadSend(interp,\sthrId,\ssend,\sclbk,\sflags)\r\n\s\s\s\s\s}\r\n\s\r\n\s\s\s\s\s/*\r\n-\s\s\s\s\s*\sShort\scircuit\ssends\sto\sourself.\r\n+\s\s\s\s\s*\sShort\scircuit\ssynchronous\ssends\sto\sourself.\r\n\s\s\s\s\s\s*/\r\n-\r\n-\s\s\s\sif\s(thrId\s==\sTcl_GetCurrentThread())\s{\r\n+\s\s\s\sif\s(thrId\s==\sTcl_GetCurrentThread()\s&&\s(flags\s&\sTHREAD_SEND_WAIT))\s{\r\n\s\s\s\s\s\s\s\s\sTcl_MutexUnlock(&threadMutex);\r\n-\s\s\s\s\s\s\s\sif\s((flags\s&\sTHREAD_SEND_WAIT))\s{\r\n-\s\s\s\s\s\s\s\s\s\s\s\sint\scode\s=\s(*send->execProc)(interp,\s(ClientData)send);\r\n-\s\s\s\s\s\s\s\s\s\s\s\sThreadFreeProc((ClientData)send);\r\n-\s\s\s\s\s\s\s\s\s\s\s\sreturn\scode;\r\n-\s\s\s\s\s\s\s\s}\selse\s{\r\n-\s\s\s\s\s\s\s\s\s\s\s\ssend->interp\s=\sinterp;\r\n-\s\s\s\s\s\s\s\s\s\s\s\sTcl_Preserve((ClientData)send->interp);\r\n-\s\s\s\s\s\s\s\s\s\s\s\sTcl_DoWhenIdle((Tcl_IdleProc*)ThreadIdleProc,\s(ClientData)send);\r\n-\s\s\s\s\s\s\s\s\s\s\s\sreturn\sTCL_OK;\r\n-\s\s\s\s\s\s\s\s}\r\n+\s\s\s\s\s\s\s\sint\scode\s=\s(*send->execProc)(interp,\s(ClientData)send);\r\n+\s\s\s\s\s\s\s\sThreadFreeProc((ClientData)send);\r\n+\s\s\s\s\s\s\s\sreturn\scode;\r\n\s\s\s\s\s}\r\n\s\r\n\s\s\s\s\s/*\r\n@@\s-3462,34\s+3451,6\s@@\sThreadSetOption(interp,\sthrId,\soption,\svalue)\r\n\s\s\s\s\sreturn\sTCL_OK;\r\n\s}\r\n\s\f\r\n-/*\r\n-\s*----------------------------------------------------------------------\r\n-\s*\r\n-\s*\sThreadIdleProc\s--\r\n-\s*\r\n-\s*\sResults:\r\n-\s*\r\n-\s*\sSide\seffects.\r\n-\s*\r\n-\s*----------------------------------------------------------------------\r\n-\s*/\r\n-\r\n-static\svoid\r\n-ThreadIdleProc(clientData)\r\n-\s\s\s\sClientData\sclientData;\r\n-{\r\n-\s\s\s\sint\sret;\r\n-\s\s\s\sThreadSendData\s*sendPtr\s=\s(ThreadSendData*)clientData;\r\n-\r\n-\s\s\s\sret\s=\s(*sendPtr->execProc)(sendPtr->interp,\s(ClientData)sendPtr);\r\n-\s\s\s\sif\s(ret\s!=\sTCL_OK)\s{\r\n-\s\s\s\s\s\s\s\sThreadErrorProc(sendPtr->interp);\r\n-\s\s\s\s}\r\n-\r\n-\s\s\s\sTcl_Release((ClientData)sendPtr->interp);\r\n-\s\s\s\sThreadFreeProc(clientData);\r\n-}\r\n-\f\r\n\s/*\r\n\s\s*----------------------------------------------------------------------\r\n\s\s*\r\n~~~
J login adrianmedranocalvo
J mimetype text/plain
J username [email protected]
K b5709ea9060d17f58ba48110351c964b3408e362
U adrianmedranocalvo
Z d9642b98ae0a15a7cf4c5a17857c1d29