Please change it a little bit yet.

>ULONG _hb_gettid( void )
>{
>   ULONG tid = 0;
>   PTIB  ptib = NULL;
>
>   printf( "_hb_gettid()\r\n", tid ); fflush(stdout);
>   if( DosGetInfoBlocks( &ptib, NULL ) == NO_ERROR )
>   {
>      if( ! ptib )
>         { printf( "ptib is NULL\r\n" ); fflush(stdout); }
>      else if( !ptib->tib_ptib2 )
>         { printf( "ptib->tib_ptib2 is NULL\r\n" ); fflush(stdout); }
>      else
>         tid = ptib->tib_ptib2->tib2_ultid;
>   }
>   printf( "TID=%lu\r\n", tid ); fflush(stdout);

>   return tid;
>}

>We still do not know where it _exactly_ fails. When we will know
>then we will look for workaround. The above test should show if it's
>inside _hb_gettid() or in some different related function.

Error happen

Using -bm flag and hbvmmt

-----------------
_hb_gettid()
TID=1
_hb_gettid()
TID=1
_hb_gettid()
TID=1
_hb_gettid()
TID=1
_hb_gettid()
TID=1
_hb_gettid()
TID=1
_hb_gettid()
TID=1
_hb_gettid()
TID=2
_hb_gettid()
TID=2
SYS1808:
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