Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers...
[reactos.git] / rossubsys / posix / lib / psxdll / pthread / exit.c
diff --git a/rossubsys/posix/lib/psxdll/pthread/exit.c b/rossubsys/posix/lib/psxdll/pthread/exit.c
deleted file mode 100644 (file)
index e8634f5..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/* $Id: exit.c,v 1.4 2002/10/29 04:45:38 rex Exp $
- */
-/*
- * COPYRIGHT:   See COPYING in the top level directory
- * PROJECT:     ReactOS POSIX+ Subsystem
- * FILE:        subsys/psx/lib/psxdll/pthread/exit.c
- * PURPOSE:     Thread termination
- * PROGRAMMER:  KJK::Hyperion <noog@libero.it>
- * UPDATE HISTORY:
- *              19/12/2001: Created
- */
-
-#include <ddk/ntddk.h>
-#include <ntdll/ldr.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <pthread.h>
-#include <psx/debug.h>
-
-void pthread_exit(void *value_ptr)
-{
- NTSTATUS nErrCode;
- BOOLEAN fLastThread;
-
- /* terminate process if this is the last thread of the current process */
- nErrCode = NtQueryInformationThread
- (
-  NtCurrentThread(),
-  ThreadAmILastThread,
-  &fLastThread,
-  sizeof(BOOLEAN),
-  NULL
- );
-
- if(NT_SUCCESS(nErrCode))
- {
-  if(fLastThread)
-  {
-   INFO("this thread is the last in the current process - about to call exit(0)");
-   exit(0);
-  }
- }
- else
- {
-  WARN
-  (
-   "NtQueryInformationThread(ThreadAmILastThread) failed with status %#x. \
-Can't determine if the current thread is the last in the process. The process \
-could hang",
-   nErrCode
-  );
-
- }
-
- TODO("Notify psxss of thread termination");
-
- LdrShutdownThread(); /* detach DLLs */
-
- /* kill this thread */
-
- WARNIF(
-  sizeof(ULONG) < sizeof(typeof(value_ptr)),
-  "\
-the value returned from the current thread will be truncated (pointers shorter \
-than long integers on this architecture?) - expect trouble"
- );
-
- INFO("bye bye. Current thread about to die");
-
- NtTerminateThread(NtCurrentThread(), (ULONG)value_ptr);
-
- /* "The pthread_exit() function cannot return to its caller." */
- NtDelayExecution(FALSE, NULL);
-
-}
-
-/* EOF */
-