On Tue, 24 Nov 2009, Maurilio Longo wrote:

Hi,

> No,
> even changhing it this way:
> dlmalloc.c[1452] onward
> #if /*defined( HB_OS_OS2 ) ||*/ defined( HB_OS_WIN ) || defined( __WATCOMC__ )
[...]
> did not solve the problem and hbmk2 dies as soon as it is called.

I haven't expected that disabling spin locks will help. I only
wanted to be sure that spin locks are used by default in OS2 builds.
I think that the problem is inside hb_mspace() when it's executed
before HVM stack is initialized. In OS2 we have unique to other systems
method to access TLS and it will cause GPF if we try to access hb_stack
pointer before TLS key is initialized.
If I'm right and this is the source of problem then it should be enough
to make small modification in hb_mspace() function and replace:

   if( hb_stackId() && hb_stack.allocator )

with:

   #undef hb_stackTotalItems
   if( hb_stackTotalItems() && hb_stack.allocator )

Can you restore spin locks and test above code?

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

Reply via email to