Tcl package Thread source code

Check-in [8f5ee5bc0e]
Login
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2019 Conference, Houston/TX, US, Nov 4-8
Send your abstracts to [email protected]
or submit via the online form by Sep 9.

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Restore [9cbfc3b299] bugfix.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | compileTipCheck
Files: files | file ages | folders
SHA1: 8f5ee5bc0ef62c646d51b6750878a362f58b5a40
User & Date: jan.nijtmans 2012-11-13 22:45:27
Context
2012-11-13
23:15
simplify some things, and make it work against Tcl 8.4/8.5 again Closed-Leaf check-in: e187578bb3 user: jan.nijtmans tags: compileTipCheck
22:45
Restore [9cbfc3b299] bugfix. check-in: 8f5ee5bc0e user: jan.nijtmans tags: compileTipCheck
20:54
Restore compile-time and runtime checks for TIP #143 and #285; by default, enable at compile-time and check availability at runtime. check-in: 7e95d24385 user: mistachkin tags: compileTipCheck
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to generic/threadCmd.c.

2930
2931
2932
2933
2934
2935
2936





2937





2938
2939
2940
2941
2942
2943
2944
     * If the event processing loop above was terminated due to a
     * script in progress being canceled or exceeding its limits,
     * call the registered error processing script now, if there
     * is one.
     */

    if (code != TCL_OK) {





        ThreadErrorProc(tsdPtr->interp);





    }
#endif

    /*
     * Remove from the list of active threads, so nobody can post
     * work to this thread, since it is just about to terminate.
     */






>
>
>
>
>
|
>
>
>
>
>







2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
     * If the event processing loop above was terminated due to a
     * script in progress being canceled or exceeding its limits,
     * call the registered error processing script now, if there
     * is one.
     */

    if (code != TCL_OK) {
        char buf[THREAD_HNDLMAXLEN];
        const char *errorInfo;

        errorInfo = Tcl_GetVar(tsdPtr->interp, "errorInfo", TCL_GLOBAL_ONLY);
        if (errorInfo == NULL) {
        	errorInfo = Tcl_GetStringResult(tsdPtr->interp);
        }

        ThreadGetHandle(Tcl_GetCurrentThread(), buf);
        Tcl_AppendResult(interp, "Error from thread ", buf, "\n",
                errorInfo, NULL);
    }
#endif

    /*
     * Remove from the list of active threads, so nobody can post
     * work to this thread, since it is just about to terminate.
     */