reactos/rosapps/tests/threadwait/threadwait.c

32 lines
747 B
C
Raw Normal View History

/*
* Author: Skywing (skywing@valhallalegends.com)
* Date: 09/09/2003
* Purpose: Probe for PsUnblockThread crash due to double-acquire spin lock.
*/
#include <windows.h>
#include <stdio.h>
DWORD __stdcall threadfunc(void* UNREFERENCED)
{
printf("Thread: Initialized\n");
Sleep(2500);
printf("Thread: Terminating...\n");
return 0;
}
int main(int ac, char **av)
{
DWORD id;
HANDLE Thread;
Thread = CreateThread(0, 0, threadfunc, 0, 0, &id);
printf("Main: ThreadId for new thread is %08lx\n", id);
printf("Main: Waiting on thread...\n");
WaitForSingleObject(Thread, INFINITE);
printf("Main: OK, somebody fixed the PsUnblockThread spinlock double-acquire crash\n");
NtClose(Thread);
printf("Main: Terminating...\n");
return 0;
}