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

Reply via email to