summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/pinfo.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/pinfo.cc')
-rw-r--r--winsup/cygwin/pinfo.cc12
1 files changed, 11 insertions, 1 deletions
diff --git a/winsup/cygwin/pinfo.cc b/winsup/cygwin/pinfo.cc
index 6feea6444..75b71f22b 100644
--- a/winsup/cygwin/pinfo.cc
+++ b/winsup/cygwin/pinfo.cc
@@ -613,12 +613,22 @@ winpids::enum9x (bool winpid)
return nelem;
}
+NO_COPY CRITICAL_SECTION winpids::cs;
+
void
-winpids::init (bool winpid)
+winpids::set (bool winpid)
{
+ EnterCriticalSection (&cs);
npids = (this->*enum_processes) (winpid);
if (pidlist)
pidlist[npids] = 0;
+ LeaveCriticalSection (&cs);
+}
+
+void
+winpids::init ()
+{
+ InitializeCriticalSection (&cs);
}
DWORD