2 * Author: Skywing (skywing@valhallalegends.com)
4 * Purpose: Probe for PsUnblockThread crash due to double-acquire spin lock.
7 #define WIN32_NO_STATUS
11 #define NTOS_MODE_USER
12 #include <ndk/ntndk.h>
14 DWORD __stdcall
threadfunc(void* UNREFERENCED
)
16 printf("Thread: Initialized\n");
18 printf("Thread: Terminating...\n");
22 int main(int ac
, char **av
)
27 Thread
= CreateThread(0, 0, threadfunc
, 0, 0, &id
);
28 printf("Main: ThreadId for new thread is %08lx\n", id
);
29 printf("Main: Waiting on thread...\n");
30 WaitForSingleObject(Thread
, INFINITE
);
31 printf("Main: OK, somebody fixed the PsUnblockThread spinlock double-acquire crash\n");
33 printf("Main: Terminating...\n");