2008-09-26 02:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

* harbour/source/vm/thread.c
    ! fixed thread cleanup code when startthread() fails, f.e.
      OS refuse to create new thread.
This commit is contained in:
Przemyslaw Czerpak
2008-09-26 00:42:41 +00:00
parent 68b7fcbc47
commit acd86c6f02
2 changed files with 11 additions and 4 deletions

View File

@@ -8,6 +8,11 @@
2008-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
*/
2008-09-26 02:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/thread.c
! fixed thread cleanup code when startthread() fails, f.e.
OS refuse to create new thread.
2008-09-25 21:50 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbdefs.h
! Fixed 64-bit printf() formatting strings to be compatible

View File

@@ -431,6 +431,12 @@ static HB_GARBAGE_FUNC( hb_threadDestructor )
hb_itemRelease( pThread->pResult );
pThread->pResult = NULL;
}
if( pThread->pSet )
{
hb_setRelease( pThread->pSet );
hb_xfree( pThread->pSet );
pThread->pSet = NULL;
}
if( pThread->th_id != 0 )
{
hb_threadDetach( pThread->th_id );
@@ -622,10 +628,6 @@ HB_FUNC( HB_THREADSTART )
pThread->th_id = hb_threadCreate( hb_threadStartVM, ( void * ) pReturn );
if( pThread->th_id == 0 )
{
if( pThread->pMemvars )
hb_itemRelease( pThread->pMemvars );
hb_setRelease( pThread->pSet );
hb_xfree( pThread->pSet );
hb_itemRelease( pReturn );
hb_ret();
}