2009-02-19 12:49 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

* harbour/source/vm/thread.c
    ! fixed the typo in order of sending signals in _hb_thread_cond_signal()
      _hb_thread_cond_broadcast() for OS2. By mistake it was LIFO instead of
      FIFO.
This commit is contained in:
Przemyslaw Czerpak
2009-02-19 11:44:36 +00:00
parent 8a30a6104c
commit faf7a49cff
2 changed files with 11 additions and 4 deletions

View File

@@ -8,6 +8,12 @@
2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org)
*/
2009-02-19 12:49 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/thread.c
! fixed the typo in order of sending signals in _hb_thread_cond_signal()
_hb_thread_cond_broadcast() for OS2. By mistake it was LIFO instead of
FIFO.
2009-02-18 17:05 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* harbour/contrib/gtwvg/wvgscrlb.prg
* Disabled structure support for time being as

View File

@@ -199,6 +199,9 @@ static void _hb_thread_wait_add( HB_COND_T * cond, PHB_WAIT_LIST pWaiting )
{
ULONG ulPostCount = 0;
DosResetEventSem( pWaiting->cond, &ulPostCount );
pWaiting->signaled = FALSE;
if( cond->waiters == NULL )
{
cond->waiters = pWaiting->next = pWaiting->prev = pWaiting;
@@ -209,8 +212,6 @@ static void _hb_thread_wait_add( HB_COND_T * cond, PHB_WAIT_LIST pWaiting )
pWaiting->prev = cond->waiters->prev;
cond->waiters->prev = pWaiting->prev->next = pWaiting;
}
pWaiting->signaled = FALSE;
DosResetEventSem( pWaiting->cond, &ulPostCount );
}
static void _hb_thread_wait_del( HB_COND_T * cond, PHB_WAIT_LIST pWaiting )
@@ -240,7 +241,7 @@ static BOOL _hb_thread_cond_signal( HB_COND_T * cond )
/* signal only single thread */
break;
}
pWaiting = pWaiting->prev;
pWaiting = pWaiting->next;
}
while( pWaiting != cond->waiters );
}
@@ -260,7 +261,7 @@ static BOOL _hb_thread_cond_broadcast( HB_COND_T * cond )
DosPostEventSem( pWaiting->cond );
pWaiting->signaled = TRUE;
}
pWaiting = pWaiting->prev;
pWaiting = pWaiting->next;
}
while( pWaiting != cond->waiters );
}