From: SourceForge.net <no...@so...> - 2003-03-27 10:13:32
|
Bugs item #710642, was opened at 2003-03-27 01:27 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=710642&group_id=10894 Category: 34. Pathname Management Group: 8.4.2 Status: Open Resolution: None Priority: 9 Submitted By: Zoran Vasiljevic (vasiljevic) Assigned to: Vince Darley (vincentdarley) Summary: Thread-unsafe handling of cwdPathPtr Initial Comment: The new pluggable filesystem code located in generic/tclIOUtils.c naively plays with global Tcl_Obj*, passing them between threads per-reference and neglecting the proper locks for all except write operations. The spot in question is the global Tcl_Obj *cwdPathPtr. The net-effect is that paths passed to the OS-calls gets garbled, memory is being trashed leading to process exitus and whole bunch of other ugly things is happening. I think this has to be entirely revised, as one can not simply share Tcl_Objs between threads. One has to always make a deep-copy (w/o internal references) of the object before passing it to some other thread. I have some ideas on how to solve this, but it is really not that straight-forward, since few of design issues have to be modified. This bug is really a show-stopper for MT-apps therefore the highest priority. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=710642&group_id=10894 |