I used: HB_EXPORT void hb_inkeyPoll( void ) { PHB_GT pGT;
HB_TRACE( HB_TR_DEBUG, ("hb_inkeyPoll()") ); printf("1. hb_inkeyPoll()\r\n");fflush(stdout); pGT = hb_gt_Base(); printf("2. hb_inkeyPoll()\r\n");fflush(stdout); if( pGT ) { printf("3. hb_inkeyPoll()\r\n");fflush(stdout); HB_GTSELF_INKEYPOLL( pGT ); printf("4. hb_inkeyPoll()\r\n");fflush(stdout); hb_gt_BaseFree( pGT ); printf("5. hb_inkeyPoll()\r\n");fflush(stdout); } printf("6. hb_inkeyPoll()\r\n");fflush(stdout); } In some pass of: HB_GTSELF_INKEYPOLL( pGT ); Error happen Using -bm flag and hbvmmt ----------------- _hb_gettid() TID=1 1. hb_inkeyPoll() 1. hb_threadMutexLock() _hb_gettid() TID=1 _hb_gettid() TID=1 2. hb_threadMutexLock() 2. hb_inkeyPoll() 3. hb_inkeyPoll() 4. hb_inkeyPoll() _hb_gettid() TID=1 5. hb_inkeyPoll() 6. hb_inkeyPoll() 1. hb_threadMutexLock() _hb_gettid() TID=1 _hb_gettid() TID=1 2. hb_threadMutexLock() _hb_gettid() TID=1 1. hb_inkeyPoll() 1. hb_threadMutexLock() _hb_gettid() TID=2 _hb_gettid() TID=2 2. hb_threadMutexLock() 2. hb_inkeyPoll() 3. hb_inkeyPoll() The process has stopped. The software diagnostic code (exception code) is 0001. ----------------- David Macias _______________________________________________ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour