From ccb3158c4f283a1d699a5d51da166dc73a3d0b74 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Wed, 18 Dec 2013 17:44:20 +0000 Subject: [PATCH] * dcrt0.cc (dll_crt0_1): Remove NtSetTimerResolution. * pinfo.cc (pinfo::init): Increase wait interval when waiting for procinfo to stabilize. --- winsup/cygwin/ChangeLog | 6 ++++++ winsup/cygwin/dcrt0.cc | 1 - winsup/cygwin/pinfo.cc | 8 +++++--- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 11724c310..2c943ac6b 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,9 @@ +2013-12-18 Christopher Faylor + + * dcrt0.cc (dll_crt0_1): Remove NtSetTimerResolution. + * pinfo.cc (pinfo::init): Increase wait interval when waiting for + procinfo to stabilize. + 2013-12-17 Christopher Faylor * autoload.cc (timeBeginPeriod): Delete. diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc index d491fa6c5..d348d9bd5 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc @@ -836,7 +836,6 @@ dll_crt0_1 (void *) { extern void initial_setlocale (); - NtSetTimerResolution (10000, TRUE, NULL); _my_tls.incyg++; /* Inherit "parent" exec'ed process sigmask */ if (spawn_info && !in_forkee) diff --git a/winsup/cygwin/pinfo.cc b/winsup/cygwin/pinfo.cc index a22a9d7b3..f56d338c3 100644 --- a/winsup/cygwin/pinfo.cc +++ b/winsup/cygwin/pinfo.cc @@ -318,9 +318,11 @@ pinfo::init (pid_t n, DWORD flag, HANDLE h0) If the block has been allocated with PINFO_REDIR_SIZE but not yet updated with a PID_EXECED state then we'll retry. */ if (!created && !(flag & PID_NEW)) - /* If not populated, wait 2 seconds for procinfo to become populated */ - for (int i = 0; i < 2000 && !procinfo->ppid; i++) - Sleep (1); + /* If not populated, wait 2 seconds for procinfo to become populated. + Would like to wait with finer granularity but that is not easily + doable. */ + for (int i = 0; i < 200 && !procinfo->ppid; i++) + Sleep (10); if (!created && createit && (procinfo->process_state & PID_REAPED)) {