OSDN Git Service

Throughout, replace hMainProc with GetCurrentProcess/NtCurrentProcess
authorcorinna <corinna>
Fri, 18 Dec 2009 20:32:03 +0000 (20:32 +0000)
committercorinna <corinna>
Fri, 18 Dec 2009 20:32:03 +0000 (20:32 +0000)
according to context.  Throughout, replace hMainThread with
GetCurrentThread/NtCurrentThread according to context.
* dcrt0.cc (dll_crt0_0): Drop duplication of GetCurrentProcess to
hMainProc.  Drop duplication of GetCurrentThread to hMainThread.
* dtable.cc (dtable::stdio_init): Remove useless comment.
* globals.cc (hMainProc): Remove.
(hMainThread): Remove.
* ntdll.h (NtCurrentProcess): Define.
(NtCurrentThread: Define.

28 files changed:
winsup/cygwin/ChangeLog
winsup/cygwin/dcrt0.cc
winsup/cygwin/dtable.cc
winsup/cygwin/exceptions.cc
winsup/cygwin/fhandler.cc
winsup/cygwin/fhandler_fifo.cc
winsup/cygwin/fhandler_socket.cc
winsup/cygwin/fhandler_tape.cc
winsup/cygwin/fhandler_tty.cc
winsup/cygwin/flock.cc
winsup/cygwin/fork.cc
winsup/cygwin/globals.cc
winsup/cygwin/init.cc
winsup/cygwin/miscfuncs.cc
winsup/cygwin/mmap.cc
winsup/cygwin/ntdll.h
winsup/cygwin/pinfo.cc
winsup/cygwin/pipe.cc
winsup/cygwin/resource.cc
winsup/cygwin/shared.cc
winsup/cygwin/shm.cc
winsup/cygwin/sigproc.cc
winsup/cygwin/spawn.cc
winsup/cygwin/syscalls.cc
winsup/cygwin/thread.cc
winsup/cygwin/times.cc
winsup/cygwin/uinfo.cc
winsup/cygwin/wincap.cc

index 4aff742..113ef7e 100644 (file)
@@ -1,5 +1,18 @@
 2009-12-18  Corinna Vinschen  <corinna@vinschen.de>
 
+       Throughout, replace hMainProc with GetCurrentProcess/NtCurrentProcess
+       according to context.  Throughout, replace hMainThread with
+       GetCurrentThread/NtCurrentThread according to context.
+       * dcrt0.cc (dll_crt0_0): Drop duplication of GetCurrentProcess to
+       hMainProc.  Drop duplication of GetCurrentThread to hMainThread.
+       * dtable.cc (dtable::stdio_init): Remove useless comment.
+       * globals.cc (hMainProc): Remove.
+       (hMainThread): Remove.
+       * ntdll.h (NtCurrentProcess): Define.
+       (NtCurrentThread: Define.
+
+2009-12-18  Corinna Vinschen  <corinna@vinschen.de>
+
        * fhandler.h (fhandler_registry::value_name): Convert to wchar_t*.
        * fhandler_registry.cc: Call UNICODE registry functions throughout
        and convert to multibyte using current locale's charset.  Accommodate
index 1816f2e..021703e 100644 (file)
@@ -609,7 +609,8 @@ child_info_spawn::handle_spawn ()
   cygheap_fixup_in_child (true);
   memory_init (false);
   if (!moreinfo->myself_pinfo ||
-      !DuplicateHandle (hMainProc, moreinfo->myself_pinfo, hMainProc, &h, 0,
+      !DuplicateHandle (GetCurrentProcess (), moreinfo->myself_pinfo,
+                       GetCurrentProcess (), &h, 0,
                        FALSE, DUPLICATE_SAME_ACCESS | DUPLICATE_CLOSE_SOURCE))
     h = NULL;
   myself.thisproc (h);
@@ -660,7 +661,7 @@ disable_dep ()
     }
   if (dep_system_policy < OptIn)
     return;
-  if (!GetProcessDEPPolicy (hMainProc, &ppolicy, &perm))
+  if (!GetProcessDEPPolicy (GetCurrentProcess (), &ppolicy, &perm))
     {
       debug_printf ("GetProcessDEPPolicy: %E");
       return;
@@ -694,15 +695,7 @@ dll_crt0_0 ()
   user_data->impure_ptr = _impure_ptr;
   user_data->impure_ptr_ptr = &_impure_ptr;
 
-  if (!DuplicateHandle (GetCurrentProcess (), GetCurrentProcess (),
-                      GetCurrentProcess (), &hMainProc, 0, FALSE,
-                       DUPLICATE_SAME_ACCESS))
-    hMainProc = GetCurrentProcess ();
-
-  DuplicateHandle (hMainProc, GetCurrentThread (), hMainProc,
-                  &hMainThread, 0, false, DUPLICATE_SAME_ACCESS);
-
-  OpenProcessToken (hMainProc, MAXIMUM_ALLOWED, &hProcToken);
+  OpenProcessToken (GetCurrentProcess (), MAXIMUM_ALLOWED, &hProcToken);
   set_cygwin_privileges (hProcToken);
 
   device::init ();
@@ -788,9 +781,6 @@ dll_crt0_1 (void *)
     small_printf ("cmalloc returns %p\n", cmalloc (HEAP_STR, n));
 #endif
 
-  ProtectHandle (hMainProc);
-  ProtectHandle (hMainThread);
-
   cygheap->cwd.init ();
 
   /* Initialize pthread mainthread when not forked and it is safe to call new,
index 458e73f..a01ae1c 100644 (file)
@@ -177,9 +177,6 @@ dtable::stdio_init ()
     {
       /* Since this code is not invoked for forked tasks, we don't have
         to worry about the close-on-exec flag here.  */
-      /* CV 2009-11-26: Using hMainProc results in ERROR_INVALID_PARAMETER
-        when trying to duplicate a console handle.  It only works using
-        the GetCurrentProcess () pseudo handle for some unknown reason. */
       if (!DuplicateHandle (GetCurrentProcess (), out,
                            GetCurrentProcess (), &err,
                            0, TRUE, DUPLICATE_SAME_ACCESS))
index e1bb705..2e5a83b 100644 (file)
@@ -484,7 +484,7 @@ _cygtls::handle_exceptions (EXCEPTION_RECORD *e, exception_list *frame, CONTEXT
 
   if (debugging && ++debugging < 500000)
     {
-      SetThreadPriority (hMainThread, THREAD_PRIORITY_NORMAL);
+      SetThreadPriority (GetCurrentThread (), THREAD_PRIORITY_NORMAL);
       return 0;
     }
 
@@ -1307,7 +1307,7 @@ exit_sig:
     {
       CONTEXT c;
       c.ContextFlags = CONTEXT_FULL;
-      GetThreadContext (hMainThread, &c);
+      GetThreadContext (GetCurrentThread (), &c);
       use_tls->copy_context (&c);
       si.si_signo |= 0x80;
     }
index fa93110..57fcb86 100644 (file)
@@ -1143,8 +1143,9 @@ fhandler_base::dup (fhandler_base *child)
   HANDLE nh;
   if (!nohandle ())
     {
-      if (!DuplicateHandle (hMainProc, get_handle (), hMainProc, &nh, 0, TRUE,
-                           DUPLICATE_SAME_ACCESS))
+      if (!DuplicateHandle (GetCurrentProcess (), get_handle (),
+                           GetCurrentProcess (), &nh,
+                           0, TRUE, DUPLICATE_SAME_ACCESS))
        {
          debug_printf ("dup(%s) failed, handle %x, %E",
                        get_name (), get_handle ());
@@ -1319,8 +1320,8 @@ fhandler_base::fork_fixup (HANDLE parent, HANDLE &h, const char *name)
   bool res = false;
   if (/* !is_socket () && */ !close_on_exec ())
     debug_printf ("handle %p already opened", h);
-  else if (!DuplicateHandle (parent, h, hMainProc, &h, 0, !close_on_exec (),
-                            DUPLICATE_SAME_ACCESS))
+  else if (!DuplicateHandle (parent, h, GetCurrentProcess (), &h,
+                            0, !close_on_exec (), DUPLICATE_SAME_ACCESS))
     system_printf ("%s - %E, handle %s<%p>", get_name (), name, h);
   else
     {
index 1955f87..81519ff 100644 (file)
@@ -301,7 +301,8 @@ fhandler_fifo::dup (fhandler_base *child)
   fhandler_fifo *fifo_child = (fhandler_fifo *) child;
   if (res == 0 && dummy_client)
     {
-      bool dres = DuplicateHandle (hMainProc, dummy_client, hMainProc,
+      bool dres = DuplicateHandle (GetCurrentProcess (), dummy_client,
+                                  GetCurrentProcess (),
                                   &fifo_child->dummy_client, 0,
                                   TRUE, DUPLICATE_SAME_ACCESS);
       if (!dres)
index 98a64ae..746d7e3 100644 (file)
@@ -699,14 +699,16 @@ fhandler_socket::dup (fhandler_base *child)
   debug_printf ("here");
   fhandler_socket *fhs = (fhandler_socket *) child;
 
-  if (!DuplicateHandle (hMainProc, wsock_mtx, hMainProc, &fhs->wsock_mtx, 0,
-                       TRUE, DUPLICATE_SAME_ACCESS))
+  if (!DuplicateHandle (GetCurrentProcess (), wsock_mtx,
+                       GetCurrentProcess (), &fhs->wsock_mtx,
+                       0, TRUE, DUPLICATE_SAME_ACCESS))
     {
       __seterrno ();
       return -1;
     }
-  if (!DuplicateHandle (hMainProc, wsock_evt, hMainProc, &fhs->wsock_evt, 0,
-                       TRUE, DUPLICATE_SAME_ACCESS))
+  if (!DuplicateHandle (GetCurrentProcess (), wsock_evt,
+                       GetCurrentProcess (), &fhs->wsock_evt,
+                       0, TRUE, DUPLICATE_SAME_ACCESS))
     {
       __seterrno ();
       NtClose (fhs->wsock_mtx);
@@ -751,7 +753,7 @@ fhandler_socket::dup (fhandler_base *child)
   if (!fhs->fixup_before_fork_exec (GetCurrentProcessId ()))
     {
       cygheap->user.reimpersonate ();
-      fhs->fixup_after_fork (hMainProc);
+      fhs->fixup_after_fork (GetCurrentProcess ());
       if (fhs->get_io_handle() != (HANDLE) INVALID_SOCKET)
        return 0;
     }
index d90810f..2286998 100644 (file)
@@ -1428,8 +1428,9 @@ fhandler_dev_tape::dup (fhandler_base *child)
 {
   lock (-1);
   fhandler_dev_tape *fh = (fhandler_dev_tape *) child;
-  if (!DuplicateHandle (hMainProc, mt_mtx, hMainProc, &fh->mt_mtx, 0, TRUE,
-                       DUPLICATE_SAME_ACCESS))
+  if (!DuplicateHandle (GetCurrentProcess (), mt_mtx,
+                       GetCurrentProcess (), &fh->mt_mtx,
+                       0, TRUE, DUPLICATE_SAME_ACCESS))
     {
       debug_printf ("dup(%s) failed, mutex handle %x, %E",
                    get_name (), mt_mtx);
@@ -1438,8 +1439,9 @@ fhandler_dev_tape::dup (fhandler_base *child)
     }
   fh->mt_evt = NULL;
   if (mt_evt &&
-      !DuplicateHandle (hMainProc, mt_evt, hMainProc, &fh->mt_evt, 0, TRUE,
-                       DUPLICATE_SAME_ACCESS))
+      !DuplicateHandle (GetCurrentProcess (), mt_evt,
+                       GetCurrentProcess (), &fh->mt_evt,
+                       0, TRUE, DUPLICATE_SAME_ACCESS))
     {
       debug_printf ("dup(%s) failed, event handle %x, %E",
                    get_name (), mt_evt);
index fbb766c..378e9fb 100644 (file)
@@ -556,7 +556,7 @@ fhandler_tty_slave::open (int flags, mode_t)
        }
 
       if (!DuplicateHandle (tty_owner, get_ttyp ()->from_master,
-                           hMainProc, &from_master_local, 0, TRUE,
+                           GetCurrentProcess (), &from_master_local, 0, TRUE,
                            DUPLICATE_SAME_ACCESS))
        {
          termios_printf ("can't duplicate input from %u/%p, %E",
@@ -567,7 +567,7 @@ fhandler_tty_slave::open (int flags, mode_t)
 
       VerifyHandle (from_master_local);
       if (!DuplicateHandle (tty_owner, get_ttyp ()->to_master,
-                         hMainProc, &to_master_local, 0, TRUE,
+                         GetCurrentProcess (), &to_master_local, 0, TRUE,
                          DUPLICATE_SAME_ACCESS))
        {
          termios_printf ("can't duplicate output, %E");
@@ -1459,10 +1459,10 @@ fhandler_pty_master::fixup_after_fork (HANDLE parent)
   if (arch->dwProcessId != wpid)
     {
       tty& t = *get_ttyp ();
-      if (!DuplicateHandle (parent, arch->from_master, hMainProc,
+      if (!DuplicateHandle (parent, arch->from_master, GetCurrentProcess (),
                            &arch->from_master, 0, false, DUPLICATE_SAME_ACCESS))
        system_printf ("couldn't duplicate from_parent(%p), %E", arch->from_master);
-      if (!DuplicateHandle (parent, arch->to_master, hMainProc,
+      if (!DuplicateHandle (parent, arch->to_master, GetCurrentProcess (),
                            &arch->to_master, 0, false, DUPLICATE_SAME_ACCESS))
        system_printf ("couldn't duplicate to_parent(%p), %E", arch->from_master);
       if (myself->pid == t.master_pid)
index 11a2a57..e31add8 100644 (file)
@@ -155,7 +155,8 @@ allow_others_to_sync ()
      to avoid having to alloc 64K from the stack. */
   tmp_pathbuf tp;
   PSECURITY_DESCRIPTOR sd = (PSECURITY_DESCRIPTOR) tp.w_get ();
-  status = NtQuerySecurityObject (hMainProc, DACL_SECURITY_INFORMATION, sd,
+  status = NtQuerySecurityObject (NtCurrentProcess (),
+                                 DACL_SECURITY_INFORMATION, sd,
                                  NT_MAX_PATH * sizeof (WCHAR), &len);
   if (!NT_SUCCESS (status))
     {
@@ -182,7 +183,7 @@ allow_others_to_sync ()
     }
   dacl->AclSize = (char *) ace - (char *) dacl;
   /* Write the DACL back. */
-  status = NtSetSecurityObject (hMainProc, DACL_SECURITY_INFORMATION, sd);
+  status = NtSetSecurityObject (NtCurrentProcess (), DACL_SECURITY_INFORMATION, sd);
   if (!NT_SUCCESS (status))
     {
       debug_printf ("NtSetSecurityObject: %p", status);
index ea16251..f0a427a 100644 (file)
@@ -263,8 +263,9 @@ slow_pid_reuse (HANDLE h)
      windows from reusing the same pid.  */
   if (last_fork_procs[nfork_procs])
     ForceCloseHandle1 (last_fork_procs[nfork_procs], fork_stupidity);
-  if (DuplicateHandle (hMainProc, h, hMainProc, &last_fork_procs[nfork_procs],
-                       0, FALSE, DUPLICATE_SAME_ACCESS))
+  if (DuplicateHandle (GetCurrentProcess (), h,
+                      GetCurrentProcess (), &last_fork_procs[nfork_procs],
+                      0, FALSE, DUPLICATE_SAME_ACCESS))
     ProtectHandle1 (last_fork_procs[nfork_procs], fork_stupidity);
   else
     {
@@ -287,7 +288,7 @@ frok::parent (volatile char * volatile stack_here)
   pinfo child;
   static char errbuf[256];
 
-  int c_flags = GetPriorityClass (hMainProc);
+  int c_flags = GetPriorityClass (GetCurrentProcess ());
   debug_printf ("priority class %d", c_flags);
 
   /* If we don't have a console, then don't create a console for the
index 9c85e38..04d7564 100644 (file)
@@ -18,8 +18,6 @@ details. */
 #include <malloc.h>
 #include <cygwin/version.h>
 
-HANDLE NO_COPY hMainProc = (HANDLE) -1;
-HANDLE NO_COPY hMainThread;
 HANDLE NO_COPY hProcToken;
 HANDLE NO_COPY hProcImpToken;
 HMODULE NO_COPY cygwin_hmodule;
index 52e2df7..efdd775 100644 (file)
@@ -75,7 +75,7 @@ respawn_wow64_process ()
 
   /* Unfortunately there's no simpler way to retrieve the
      parent process in NT, as far as I know.  Hints welcome. */
-  ret = NtQueryInformationProcess (GetCurrentProcess (),
+  ret = NtQueryInformationProcess (NtCurrentProcess (),
                                   ProcessBasicInformation,
                                   &pbi, sizeof pbi, NULL);
   if (NT_SUCCESS (ret)
index 29b8159..8602761 100644 (file)
@@ -253,7 +253,7 @@ low_priority_sleep (DWORD secs)
       if (GetCurrentThreadId () == cygthread::main_thread_id)
        new_prio = THREAD_PRIORITY_LOWEST;
       else
-       new_prio = GetThreadPriority (hMainThread);
+       new_prio = GetThreadPriority (GetCurrentThread ());
 
       if (curr_prio != new_prio)
        /* Force any threads in normal priority to be scheduled */
index 6be40a1..710df06 100644 (file)
@@ -208,12 +208,12 @@ MapView (HANDLE h, void *addr, size_t len, DWORD openflags,
 
      Note: Retrying the mapping might be unnecessary, now that mmap64 checks
           for a valid memory area first. */
-  ret = NtMapViewOfSection (h, GetCurrentProcess (), &base, 0, commitsize,
+  ret = NtMapViewOfSection (h, NtCurrentProcess (), &base, 0, commitsize,
                            &offset, &viewsize, ViewShare, alloc_type, protect);
   if (!NT_SUCCESS (ret) && addr && !fixed (flags))
     {
       base = NULL;
-      ret = NtMapViewOfSection (h, GetCurrentProcess (), &base, 0, commitsize,
+      ret = NtMapViewOfSection (h, NtCurrentProcess (), &base, 0, commitsize,
                                &offset, &viewsize, ViewShare, 0, protect);
     }
   if (!NT_SUCCESS (ret))
@@ -1290,7 +1290,8 @@ mlock (const void *addr, size_t len)
   NTSTATUS status = 0;
   do
     {
-      status = NtLockVirtualMemory (hMainProc, &base, &size, LOCK_VM_IN_RAM);
+      status = NtLockVirtualMemory (NtCurrentProcess (), &base, &size,
+                                   LOCK_VM_IN_RAM);
       if (status == STATUS_WORKING_SET_QUOTA)
        {
          /* The working set is too small, try to increase it so that the
@@ -1304,7 +1305,7 @@ mlock (const void *addr, size_t len)
             further, or until NtLockVirtualMemory returns successfully (or
             with another error).  */
          ULONG min, max;
-         if (!GetProcessWorkingSetSize (hMainProc, &min, &max))
+         if (!GetProcessWorkingSetSize (GetCurrentProcess (), &min, &max))
            {
              set_errno (ENOMEM);
              break;
@@ -1317,7 +1318,7 @@ mlock (const void *addr, size_t len)
            min += pagesize;
          if (max < min)
            max = min;
-         if (!SetProcessWorkingSetSize (hMainProc, min, max))
+         if (!SetProcessWorkingSetSize (GetCurrentProcess (), min, max))
            {
              set_errno (ENOMEM);
              break;
@@ -1346,7 +1347,7 @@ munlock (const void *addr, size_t len)
   size_t pagesize = getpagesize ();
   PVOID base = (PVOID) rounddown((uintptr_t) addr, pagesize);
   ULONG size = roundup2 (((uintptr_t) addr - (uintptr_t) base) + len, pagesize);
-  NTSTATUS status = NtUnlockVirtualMemory (hMainProc, &base, &size,
+  NTSTATUS status = NtUnlockVirtualMemory (NtCurrentProcess (), &base, &size,
                                           LOCK_VM_IN_RAM);
   if (!NT_SUCCESS (status))
     __seterrno_from_nt_status (status);
@@ -1482,7 +1483,7 @@ fhandler_dev_zero::mmap (caddr_t *addr, size_t len, int prot,
            __seterrno ();
          else
            {
-             NtUnmapViewOfSection (GetCurrentProcess (), base);
+             NtUnmapViewOfSection (NtCurrentProcess (), base);
              set_errno (EINVAL);
              debug_printf ("MapView: address shift with MAP_FIXED given");
            }
@@ -1501,7 +1502,7 @@ fhandler_dev_zero::munmap (HANDLE h, caddr_t addr, size_t len)
     VirtualFree (addr, 0, MEM_RELEASE);
   else
     {
-      NtUnmapViewOfSection (GetCurrentProcess (), addr);
+      NtUnmapViewOfSection (NtCurrentProcess (), addr);
       NtClose (h);
     }
   return 0;
@@ -1562,7 +1563,7 @@ fhandler_disk_file::mmap (caddr_t *addr, size_t len, int prot,
        __seterrno ();
       else
        {
-         NtUnmapViewOfSection (GetCurrentProcess (), base);
+         NtUnmapViewOfSection (NtCurrentProcess (), base);
          set_errno (EINVAL);
          debug_printf ("MapView: address shift with MAP_FIXED given");
        }
@@ -1577,7 +1578,7 @@ fhandler_disk_file::mmap (caddr_t *addr, size_t len, int prot,
 int
 fhandler_disk_file::munmap (HANDLE h, caddr_t addr, size_t len)
 {
-  NtUnmapViewOfSection (GetCurrentProcess (), addr);
+  NtUnmapViewOfSection (NtCurrentProcess (), addr);
   NtClose (h);
   return 0;
 }
@@ -1656,7 +1657,7 @@ fhandler_dev_mem::mmap (caddr_t *addr, size_t len, int prot,
        __seterrno ();
       else
        {
-         NtUnmapViewOfSection (GetCurrentProcess (), base);
+         NtUnmapViewOfSection (NtCurrentProcess (), base);
          set_errno (EINVAL);
          debug_printf ("MapView: address shift with MAP_FIXED given");
        }
@@ -1672,7 +1673,7 @@ int
 fhandler_dev_mem::munmap (HANDLE h, caddr_t addr, size_t len)
 {
   NTSTATUS ret;
-  if (!NT_SUCCESS (ret = NtUnmapViewOfSection (GetCurrentProcess (), addr)))
+  if (!NT_SUCCESS (ret = NtUnmapViewOfSection (NtCurrentProcess (), addr)))
     {
       __seterrno_from_nt_status (ret);
       return -1;
index 93f786b..0eeeb54 100644 (file)
@@ -859,6 +859,10 @@ typedef enum _EVENT_INFORMATION_CLASS
 
 /* Function declarations for ntdll.dll.  These don't appear in any
    standard Win32 header.  */
+
+#define NtCurrentProcess() ((HANDLE) 0xffffffff)
+#define NtCurrentThread()  ((HANDLE) 0xfffffffe)
+
 extern "C"
 {
   NTSTATUS NTAPI NtAdjustPrivilegesToken (HANDLE, BOOLEAN, PTOKEN_PRIVILEGES,
index cfbb4ee..f772b42 100644 (file)
@@ -105,7 +105,7 @@ pinfo_init (char **envp, int envc)
       myself->uid = ILLEGAL_UID;
       myself->gid = UNKNOWN_GID;
       environ_init (NULL, 0);  /* call after myself has been set up */
-      myself->nice = winprio_to_nice (GetPriorityClass (hMainProc));
+      myself->nice = winprio_to_nice (GetPriorityClass (GetCurrentProcess ()));
       debug_printf ("Set nice to %d", myself->nice);
     }
 
@@ -185,7 +185,7 @@ pinfo::exit (DWORD n)
   /* FIXME:  There is a potential race between an execed process and its
      parent here.  I hated to add a mutex just for that, though.  */
   struct rusage r;
-  fill_rusage (&r, hMainProc);
+  fill_rusage (&r, GetCurrentProcess ());
   add_rusage (&self->rusage_self, &r);
   int exitcode = self->exitcode & 0xffff;
   if (!self->cygstarted)
@@ -920,8 +920,8 @@ _pinfo::dup_proc_pipe (HANDLE hProcess)
      parent sees it.  */
   if (this != myself || is_toplevel_proc)
     flags |= DUPLICATE_CLOSE_SOURCE;
-  bool res = DuplicateHandle (hMainProc, wr_proc_pipe, hProcess, &wr_proc_pipe,
-                             0, FALSE, flags);
+  bool res = DuplicateHandle (GetCurrentProcess (), wr_proc_pipe,
+                             hProcess, &wr_proc_pipe, 0, FALSE, flags);
   if (!res && WaitForSingleObject (hProcess, 0) != WAIT_OBJECT_0)
     {
       wr_proc_pipe = orig_wr_proc_pipe;
index 25fbd4c..39b93cc 100644 (file)
@@ -117,7 +117,7 @@ fhandler_pipe::open (int flags, mode_t mode)
       goto out;
     }
   inh = !(flags & O_NOINHERIT);
-  if (!DuplicateHandle (proc, pipe_hdl, hMainProc, &nio_hdl,
+  if (!DuplicateHandle (proc, pipe_hdl, GetCurrentProcess (), &nio_hdl,
                        0, inh, DUPLICATE_SAME_ACCESS))
     {
       __seterrno ();
index 9a2acdd..6da9c68 100644 (file)
@@ -94,7 +94,7 @@ getrusage (int intwho, struct rusage *rusage_in)
   if (intwho == RUSAGE_SELF)
     {
       memset (&r, 0, sizeof (r));
-      fill_rusage (&r, hMainProc);
+      fill_rusage (&r, GetCurrentProcess ());
       *rusage_in = r;
     }
   else if (intwho == RUSAGE_CHILDREN)
index 0196366..47fc50e 100644 (file)
@@ -158,7 +158,7 @@ get_session_parent_dir ()
   if (!dir)
     {
       PROCESS_SESSION_INFORMATION psi;
-      status = NtQueryInformationProcess (GetCurrentProcess (),
+      status = NtQueryInformationProcess (NtCurrentProcess (),
                                          ProcessSessionInformation,
                                          &psi, sizeof psi, NULL);
       if (!NT_SUCCESS (status) || psi.SessionId == 0)
index 9b4cba4..8b41a38 100644 (file)
@@ -136,7 +136,7 @@ fixup_shms_after_fork ()
       NTSTATUS status;
       vm_object_t ptr = sph_entry->ptr;
       ULONG viewsize = sph_entry->parent->size;
-      status = NtMapViewOfSection (sph_entry->parent->hdl, GetCurrentProcess (),
+      status = NtMapViewOfSection (sph_entry->parent->hdl, NtCurrentProcess (),
                                   &ptr, 0, sph_entry->parent->size, NULL,
                                   &viewsize, ViewShare, 0, sph_entry->access);
       if (!NT_SUCCESS (status) || ptr != sph_entry->ptr)
@@ -221,7 +221,7 @@ shmat (int shmid, const void *shmaddr, int shmflg)
   vm_object_t ptr = NULL;
   ULONG viewsize = ssh_entry->size;
   ULONG access = (shmflg & SHM_RDONLY) ? PAGE_READONLY : PAGE_READWRITE;
-  status = NtMapViewOfSection (ssh_entry->hdl, GetCurrentProcess (), &ptr, 0,
+  status = NtMapViewOfSection (ssh_entry->hdl, NtCurrentProcess (), &ptr, 0,
                               ssh_entry->size, NULL, &viewsize, ViewShare,
                               MEM_TOP_DOWN, access);
   if (!NT_SUCCESS (status))
index 7c61a51..718c800 100644 (file)
@@ -608,8 +608,8 @@ sig_send (_pinfo *p, siginfo_t& si, _cygtls *tls)
          goto out;
        }
       VerifyHandle (hp);
-      if (!DuplicateHandle (hp, dupsig, hMainProc, &sendsig, false, 0,
-                           DUPLICATE_SAME_ACCESS) || !sendsig)
+      if (!DuplicateHandle (hp, dupsig, GetCurrentProcess (), &sendsig, false,
+                           0, DUPLICATE_SAME_ACCESS) || !sendsig)
        {
          __seterrno ();
          sigproc_printf ("DuplicateHandle failed, %E");
@@ -631,7 +631,7 @@ sig_send (_pinfo *p, siginfo_t& si, _cygtls *tls)
              __seterrno ();
              goto out;
            }
-         if (!DuplicateHandle (hMainProc, tome, hp, &tome, false, 0,
+         if (!DuplicateHandle (GetCurrentProcess (), tome, hp, &tome, false, 0,
                                DUPLICATE_SAME_ACCESS | DUPLICATE_CLOSE_SOURCE))
            {
              sigproc_printf ("DuplicateHandle for __SIGCOMMUNE failed, %E");
@@ -818,7 +818,8 @@ child_info::child_info (unsigned in_cb, child_info_types chtype, bool need_subpr
   /* Create an inheritable handle to pass to the child process.  This will
      allow the child to duplicate handles from the parent to itself. */
   parent = NULL;
-  if (!DuplicateHandle (hMainProc, hMainProc, hMainProc, &parent, 0, TRUE,
+  if (!DuplicateHandle (GetCurrentProcess (), GetCurrentProcess (),
+                       GetCurrentProcess (), &parent, 0, TRUE,
                        DUPLICATE_SAME_ACCESS))
     system_printf ("couldn't create handle to myself for child, %E");
 }
index 88b9bf2..9284996 100644 (file)
@@ -420,9 +420,9 @@ spawn_guts (const char *prog_arg, const char *const *argv,
       moreinfo->argv = newargv;
 
       if (mode != _P_OVERLAY ||
-         !DuplicateHandle (hMainProc, myself.shared_handle (), hMainProc,
-                           &moreinfo->myself_pinfo, 0, TRUE,
-                           DUPLICATE_SAME_ACCESS))
+         !DuplicateHandle (GetCurrentProcess (), myself.shared_handle (),
+                           GetCurrentProcess (), &moreinfo->myself_pinfo,
+                           0, TRUE, DUPLICATE_SAME_ACCESS))
        moreinfo->myself_pinfo = NULL;
       else
        VerifyHandle (moreinfo->myself_pinfo);
@@ -445,7 +445,7 @@ spawn_guts (const char *prog_arg, const char *const *argv,
 
   si.cb = sizeof (si);
 
-  c_flags = GetPriorityClass (hMainProc);
+  c_flags = GetPriorityClass (GetCurrentProcess ());
   sigproc_printf ("priority class %d", c_flags);
   c_flags |= CREATE_SEPARATE_WOW_VDM | CREATE_UNICODE_ENVIRONMENT;
 
@@ -473,9 +473,9 @@ spawn_guts (const char *prog_arg, const char *const *argv,
         generating its own pids again? */
       if (cygheap->pid_handle)
        /* already done previously */;
-      else if (DuplicateHandle (hMainProc, hMainProc, hMainProc,
-                               &cygheap->pid_handle, PROCESS_QUERY_INFORMATION,
-                               TRUE, 0))
+      else if (DuplicateHandle (GetCurrentProcess (), GetCurrentProcess (),
+                               GetCurrentProcess (), &cygheap->pid_handle,
+                               PROCESS_QUERY_INFORMATION, TRUE, 0))
        ProtectHandleINH (cygheap->pid_handle);
       else
        system_printf ("duplicate to pid_handle failed, %E");
@@ -729,8 +729,8 @@ loop:
         the fields filled out by child.remember do not disappear and so there
         is not a brief period during which the pid is not available.
         However, we should try to find another way to do this eventually. */
-      DuplicateHandle (hMainProc, child.shared_handle (), pi.hProcess,
-                             NULL, 0, 0, DUPLICATE_SAME_ACCESS);
+      DuplicateHandle (GetCurrentProcess (), child.shared_handle (),
+                      pi.hProcess, NULL, 0, 0, DUPLICATE_SAME_ACCESS);
       child->start_time = time (NULL); /* Register child's starting time. */
       child->nice = myself->nice;
       if (!child.remember (mode == _P_DETACH))
index e563fbb..5b5aa1f 100644 (file)
@@ -100,8 +100,9 @@ close_all_files (bool norelease)
        debug_printf ("closing fd %d", i);
 #endif
        if (i == 2)
-         DuplicateHandle (GetCurrentProcess (), fh->get_output_handle (), GetCurrentProcess (), &h, 0, false,
-                          DUPLICATE_SAME_ACCESS);
+         DuplicateHandle (GetCurrentProcess (), fh->get_output_handle (),
+                          GetCurrentProcess (), &h,
+                          0, false, DUPLICATE_SAME_ACCESS);
        fh->close ();
        if (!norelease)
          cygheap->fdtab.release (i);
@@ -3131,7 +3132,7 @@ setpriority (int which, id_t who, int value)
        who = myself->pid;
       if ((pid_t) who == myself->pid)
        {
-         if (!SetPriorityClass (hMainProc, prio))
+         if (!SetPriorityClass (GetCurrentProcess (), prio))
            {
              set_errno (EACCES);
              return -1;
index c02310e..2f9695f 100644 (file)
@@ -312,8 +312,9 @@ pthread::init_mainthread ()
 
   set_tls_self_pointer (thread);
   thread->thread_id = GetCurrentThreadId ();
-  if (!DuplicateHandle (hMainProc, GetCurrentThread (), hMainProc,
-                       &thread->win32_obj_id, 0, FALSE, DUPLICATE_SAME_ACCESS))
+  if (!DuplicateHandle (GetCurrentProcess (), GetCurrentThread (),
+                       GetCurrentProcess (), &thread->win32_obj_id,
+                       0, FALSE, DUPLICATE_SAME_ACCESS))
     api_fatal ("failed to create mainthread handle");
   if (!thread->create_cancel_event ())
     api_fatal ("couldn't create cancel event for main thread");
index 573c4c0..a59ade8 100644 (file)
@@ -77,7 +77,7 @@ times (struct tms *buf)
      overflow. */
   clock_t tc = (clock_t) (ticks * CLOCKS_PER_SEC / 1000);
 
-  GetProcessTimes (hMainProc, &creation_time, &exit_time,
+  GetProcessTimes (GetCurrentProcess (), &creation_time, &exit_time,
                   &kernel_time, &user_time);
 
   syscall_printf ("ticks %d, CLOCKS_PER_SEC %d", ticks, CLOCKS_PER_SEC);
index 440efbb..2695d81 100644 (file)
@@ -78,8 +78,8 @@ cygheap_user::init ()
       if (!SetTokenInformation (hProcToken, TokenDefaultDacl, &dacl,
                                sizeof (dacl)))
        system_printf ("SetTokenInformation (TokenDefaultDacl), %E");
-      if ((status = NtSetSecurityObject (hMainProc, DACL_SECURITY_INFORMATION,
-                                        psd)))
+      if ((status = NtSetSecurityObject (NtCurrentProcess (),
+                                        DACL_SECURITY_INFORMATION, psd)))
        system_printf ("NtSetSecurityObject, %lx", status);
     }
   else
index 7277d5f..2fc76b1 100644 (file)
@@ -544,7 +544,7 @@ wincapc::init ()
             == VER_SUITE_TERMINAL)
        ((wincaps *)caps)->ts_has_dep_problem = true;
     }
-  if (NT_SUCCESS (NtQueryInformationProcess (GetCurrentProcess (),
+  if (NT_SUCCESS (NtQueryInformationProcess (NtCurrentProcess (),
                                             ProcessWow64Information,
                                             &wow64, sizeof wow64, NULL))
       && !wow64)