+rtsBool
+osThreadIsAlive(OSThreadId id)
+{
+ DWORD exit_code;
+ HANDLE hdl;
+ if (!(hdl = OpenThread(THREAD_QUERY_INFORMATION,FALSE,id))) {
+ sysErrorBelch("osThreadIsAlive: OpenThread");
+ stg_exit(EXIT_FAILURE);
+ }
+ if (!GetExitCodeThread(hdl, &exit_code)) {
+ sysErrorBelch("osThreadIsAlive: GetExitCodeThread");
+ stg_exit(EXIT_FAILURE);
+ }
+ return (exit_code == STILL_ACTIVE);
+}
+