On Tue, 16 Feb 2010, Maurilio Longo wrote:

Hi,
> testing a MT program compiled with -b to have debugger available I got this
> call stack
> Error BASE/1005  No exported variable: BACTION
> Called from _BACTION(0)
> Called from HBDBMENU:BUILD(0)
> Called from __DBGBUILDMENU(0)
> Called from HBDEBUGGER:NEW(0)
> Called from __DBGENTRY(0)
> Called from TCONNECTION:EXECUTE(184)
> Called from (b)TTHREAD_START(0)
> Error BASE/1005  No exported variable: BACTION
> Is debugger not MT safe/ready? It happened only once when I started a bunch of
> threads to make a test, AltD() seems to work fine when called from code
> executed in a thread.

We missed that HBDbMenu class in dbgtmenu.prg uses static variable shared
between threads:

   CLASSDATA aMenus

It has to be fixed but I'm not familiar with this code.
I'll add small hack and replace above static variable
(class variable works like static variables in this context)
by thread static ones what should resolve the problem (please
test) but it would be very nice if someone more familiar with
this code can create cleaner solution which will not use any
static variables in debugger menu code.

best regards,
Przemek
_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to