Tcl Source Code

Threads
Login

Source Files

Public Interface

Private Interface

Internal Interface

Directly Depends On Public Interface

Directly Depends On Private Interface of

Discussion

The boundaries of this module are a bit murky. The routine Tcl_GetCurrentThread is defined here, but documented as part of the Notifier. The routine Tcl_ExitThread is defined here, but documented alongside Tcl_Exit as part of (Initi/Fin)alize. The routine Tcl_GetAllocMutex ought not be public at all (see [547989]). The routine Tcl_CreateThread pretty clearly ought to be here and is documented with the rest of the Threads routines, but is actually found over in tclEvent.c as part of (Initi/Fin)alize. Perhaps these can be tidied up.

The routines TclpReaddirand TclpInetNtoa only exist at all for the sake of stubs compatibility with extensions originally built against rather old (arguably buggy) tclUnixPort.h files. They definitely ought not survive into Tcl 9.

The dependence on (Initi/Fin)alize is apparently a correctible error in module boundary drawing. Then the dependency cycle between Threads and Allocation is a target to refactor away, so that a clean dependency DAG might emerge, and so that tidy sequences of initialization and finalization might be determined.