>
> > - 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.


Yes, a file find handle is closed only at app exit. On Windows
this locks the directory (not possible to remove it for example).

For most of these file functions we have now equivalents in
core, so they can be worked around easily.

CTWIN mod would be great, just take your time with it.


> > - 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.


Okay, this was what I had in mind exactly. The API is IMO
perfectly good. Maybe some sort of named hash table could
make it simpler, but also heavier I guess. Anyhow even such
additional API can be built upon the current one.

Brgds,
Viktor
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to