On Mon, 23 Feb 2009, Szak�ts Viktor wrote: Hi.
> Thanks for this thoughtful conversation. > Just a few things that sprang to my mind regarding current MT > issues in Harbour while reading both Steffen's and your text: > - hbct windowing has the current window as an app global > data. This makes it difficult (or even impossible?) to > start a new thread which operates in its own windows, > as the threads are stealing focus from each other. > (main app thread focus changes are difficult to protect > by mutexes) > - hbct has other .c parts which are non-MT safe. Yes, some for contrib code should be fixed. I cleaned only core code and some elements of contrib code which I needed for my own use. The thread local CTWIN current windows setting is on my TODO list and I'll make it ASAP. I'll also clean the files.c code I guess you are thinking about and document the existing method close open directory handle or add new one. > - Moving static to "thread static" on the .c level can be > a need for other 3rd party code. We already have it (TSD) and it's used in RTL code though maybe I should think about a little bit different API though static initialization which greatly simplify the user code reduces my possibilities. > This leads to one of the NOTEs I've made in ChangeLog: > Should Harbour have a way to attach custom information > to a thread? This may give the path to solve some of these > problems, so it seems to me at least. > [ Maybe I'm banging open doors and the support is there, > but couldn't find it, yet. ] See how TSD is used in some RTL functions. best regards, Przemek _______________________________________________ Harbour mailing list [email protected] http://lists.harbour-project.org/mailman/listinfo/harbour
