The purpose of this tip is to provide support of tcl's libthread in
oacs.
libthread is the standard thread library of tcl and maintained
on sourceforge
http://sourceforge.net/project/showfiles.php?group_id=10894&package_id=10438
libthread provides an upward compatible threading interface for the
aolserver with additional functionality (e.g. thread pools,
thread::mutex, persistent nsv). Libthread can be easily added to the
aolserver + oacs with the standard configure/make/make install cycle
(see http://media.wu-wien.ac.at/download/README.xotcl-oacs) and is
know to work reliably with openacs and dotlrn on production sites. The
author of libthread is Zoran Zoran Vasiljevic, who is member of the
aolserver core team.
By accepting this TIP it will be easy to use tcl extensions using threads
or packages based on libthread in an aolserver installation. A sample
application is the xotcl request monitor
https://openacs.org/forums/message-view?message_id=181979
that provides performance statistics, request blocking and user tracking.
It contains a value added version of who-is-online (the function
to compute the currently active users is more than
10 times faster than the original version). Recent versions contain
as well a connection thread monitor showing currently running requests
with their elapsed time, that does not use ns_server and therefore does
not crash under load.
providing support means to include it in a c-source code
tarball together with the other c-modules, to provide in
the best of all possible worlds a toplevel configure script and to provide an optional entry in the modules section of the sample config.tcl-file