From c9f545e20fe2994d9266d463a184731505975e84 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Fri, 1 Apr 2005 15:35:47 +0000 Subject: [PATCH] * bsd_mutex.cc (_msleep): Whitespace fix. * process.cc (process::process): Handle invalid signal_arrived values more gracefully. --- winsup/cygserver/ChangeLog | 6 ++++++ winsup/cygserver/bsd_mutex.cc | 4 ++-- winsup/cygserver/process.cc | 8 ++++++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/winsup/cygserver/ChangeLog b/winsup/cygserver/ChangeLog index 9b4ed31c9..9bf453ace 100644 --- a/winsup/cygserver/ChangeLog +++ b/winsup/cygserver/ChangeLog @@ -1,3 +1,9 @@ +2005-04-01 Corinna Vinschen + + * bsd_mutex.cc (_msleep): Whitespace fix. + * process.cc (process::process): Handle invalid signal_arrived values + more gracefully. + 2004-12-30 Corinna Vinschen * bsd_mutex.cc: Include limits.h. diff --git a/winsup/cygserver/bsd_mutex.cc b/winsup/cygserver/bsd_mutex.cc index 27217486a..82ce4bf27 100644 --- a/winsup/cygserver/bsd_mutex.cc +++ b/winsup/cygserver/bsd_mutex.cc @@ -1,6 +1,6 @@ /* bsd_mutex.cc - Copyright 2003, 2004 Red Hat Inc. + Copyright 2003, 2004, 2005 Red Hat Inc. This file is part of Cygwin. @@ -236,7 +236,7 @@ _msleep (void *ident, struct mtx *mtx, int priority, if ((priority & PCATCH) && td->client->signal_arrived () != INVALID_HANDLE_VALUE) obj_cnt = 4; - + switch (WaitForMultipleObjects (obj_cnt, obj, FALSE, timo ?: INFINITE)) { case WAIT_OBJECT_0: /* wakeup() has been called. */ diff --git a/winsup/cygserver/process.cc b/winsup/cygserver/process.cc index e03370d11..6f8f40ea5 100644 --- a/winsup/cygserver/process.cc +++ b/winsup/cygserver/process.cc @@ -1,6 +1,6 @@ /* process.cc - Copyright 2001, 2002, 2003, 2004 Red Hat Inc. + Copyright 2001, 2002, 2003, 2004, 2005 Red Hat Inc. Written by Robert Collins @@ -60,13 +60,17 @@ process::process (const pid_t cygpid, const DWORD winpid, HANDLE signal_arrived) else debug_printf ("got handle %p for new cache process %d(%lu)", _hProcess, _cygpid, _winpid); - if (signal_arrived != INVALID_HANDLE_VALUE) + if (!signal_arrived) + system_printf ("signal_arrived NULL for process %d(%lu)", + _cygpid, _winpid); + else if (signal_arrived != INVALID_HANDLE_VALUE) { if (!DuplicateHandle (_hProcess, signal_arrived, GetCurrentProcess (), &_signal_arrived, 0, FALSE, DUPLICATE_SAME_ACCESS)) system_printf ("error getting signal_arrived to server (%lu)", GetLastError ()); + _signal_arrived = INVALID_HANDLE_VALUE; } InitializeCriticalSection (&_access); debug ("initialized (%lu)", _cygpid);