Przemyslaw, dlmalloc[1452], HB_SPINLOCK_USE is set.
I'll try using OS/2 section to see if it works. Maurilio. Przemysław Czerpak wrote: > On Tue, 24 Nov 2009, Maurilio Longo wrote: > > Hi, > >> hbmk2 fails with an exception inside harbourm.dll. >> hbtest and hbrun, instead, work flawlessly. >> What can it be? > > Only HBMK2 uses MT HVM so probably code for MT locks inside > DLMALLOC in OS2 builds is broken. It should be easy to fix it. > Depending on available atomic macros one of two versions is used, > see dlmalloc[1467] > > #ifdef HB_SPINLOCK_USE > > static int spin_acquire_lock( HB_SPINLOCK_T *l ) > { > HB_SPINLOCK_ACQUIRE( l ); > return 0; > } > > #define MLOCK_T HB_SPINLOCK_T > #define INITIAL_LOCK(l) *(l)=HB_SPINLOCK_INIT > #define ACQUIRE_LOCK(l) spin_acquire_lock(l) > #define RELEASE_LOCK(l) HB_SPINLOCK_RELEASE(l) > #define MLOCK_INIT HB_SPINLOCK_INIT > > #elif defined( HB_OS_OS2 ) > > #define MLOCK_T HB_RAWCRITICAL_T > #define INITIAL_LOCK(l) HB_CRITICAL_INIT(*(l)) > #define ACQUIRE_LOCK(l) HB_CRITICAL_LOCK(*(l)) > #define RELEASE_LOCK(l) HB_CRITICAL_UNLOCK(*(l)) > #define MLOCK_INIT { 0 } > > #elif !defined( WIN32 ) > > > If you are using o...@x86 and GCC then the first version (HB_SPINLOCK_USE) > should be enabled. This code is used also on other platforms so it should > work without any problems so maybe in OS2 builds HB_CPU_X86 is not set > (BTW I'll commit some minor modification to the code which sets this macro > in a while). The second version inside HB_OS_OS2 section is not tested at > all and it's highly possible that it does not work. Can you check which > version is used in your build? > Just simply add: > int version_HB_SPINLOCK_USE; > and: > int version_HB_OS_OS2; > to above code and check which variable will be reported as unused. > > best regards, > Przemek > _______________________________________________ > Harbour mailing list (attachment size limit: 40KB) > Harbour@harbour-project.org > http://lists.harbour-project.org/mailman/listinfo/harbour > -- __________ | | | |__| Maurilio Longo |_|_|_|____| farmaconsult s.r.l. _______________________________________________ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour