(empth_sleep) [_WIN32]: Ensure the thread does not waking up early.
It has been seen which caused an update to be missed.
This commit is contained in:
parent
dbf7f554b1
commit
274c3d3a36
1 changed files with 9 additions and 5 deletions
|
@ -63,6 +63,7 @@
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
#include "empthread.h"
|
#include "empthread.h"
|
||||||
#include "prototypes.h"
|
#include "prototypes.h"
|
||||||
|
#include "server.h"
|
||||||
|
|
||||||
#define loc_MIN_THREAD_STACK 16384
|
#define loc_MIN_THREAD_STACK 16384
|
||||||
|
|
||||||
|
@ -325,8 +326,6 @@ loc_Exit_Handler(DWORD fdwCtrlType)
|
||||||
static void
|
static void
|
||||||
empth_threadMain(void *pvData)
|
empth_threadMain(void *pvData)
|
||||||
{
|
{
|
||||||
time_t now;
|
|
||||||
|
|
||||||
empth_t *pThread = pvData;
|
empth_t *pThread = pvData;
|
||||||
|
|
||||||
/* Out of here... */
|
/* Out of here... */
|
||||||
|
@ -342,9 +341,14 @@ empth_threadMain(void *pvData)
|
||||||
/* Signal that the thread has started. */
|
/* Signal that the thread has started. */
|
||||||
SetEvent(hThreadStartEvent);
|
SetEvent(hThreadStartEvent);
|
||||||
|
|
||||||
/* seed the rand() function */
|
/*
|
||||||
time(&now);
|
* seed the rand() function
|
||||||
srand(now ^ (unsigned)pThread);
|
* In WIN32, each thread has seed
|
||||||
|
*/
|
||||||
|
if (rnd_seed.set)
|
||||||
|
srand(rnd_seed.seed);
|
||||||
|
else
|
||||||
|
srand(time(NULL) ^ (unsigned)pThread);
|
||||||
|
|
||||||
/* Switch to this thread context */
|
/* Switch to this thread context */
|
||||||
loc_RunThisThread(NULL);
|
loc_RunThisThread(NULL);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue