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

Reply via email to