Version 28 of Thread-safe Tcl Extensions

Updated 2007-05-09 11:53:50 by lvirden

The purpose of this page is to catalog Tcl extensions believed to be safe for use in multi-threaded Tcl applications, along with the version numbers in which thread-safety was added. This list might change as the definition of "thread-safe" evolves in the Tcl community.

It is important to note that pure Tcl libraries (such as anything in tcllib) is thread-safe. However, one should be careful when using certain libraries in tcllib that may require external libraries optionally for speed (such as md5). These should perhaps be checked to either not use the external library when built threaded, or verify that the external library is thread-safe.

Even though a library may be listed as "thread-safe" here, it is likely necessary to ensure that the library was built with -DTCL_THREADS (usually with ./configure --enable-threads).


Current versions of Tclx appear NOT to be thread-safe. In fact, the tclx readdir comand fails to return valid values whether or not tclx was compiled with the threads configuration activated.


Here is a list of thread-safe and not-safe libraries, at the bottom of the page.

http://httpd.apache.org/docs-2.0/developer/thread_safety.html


Well, let me be the first to define "thread-safe":

  thread safe code does not fail with a segfault two times,
  then once with a bus error, then run for a week followed
  by a hardware lockup.
                           -PSE

UKo If an extension is not (known) threadsafe, is it safe to use it in only one thread? RFox Maybe... maybe not. Depends on why it's not thread safe.


Category Threads