This is the mail archive of the
cygwin-cvs@cygwin.com
mailing list for the Cygwin project.
[newlib-cygwin] cygwin: Remove comparison of 'this' to NULL in _pinfo::exists
- From: Corinna Vinschen <corinna at sourceware dot org>
- To: cygwin-cvs at sourceware dot org
- Date: 9 Oct 2017 10:11:48 -0000
- Subject: [newlib-cygwin] cygwin: Remove comparison of 'this' to NULL in _pinfo::exists
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=7212b571a5b8ba855c47e16db8cde829a1340a76
commit 7212b571a5b8ba855c47e16db8cde829a1340a76
Author: Ken Brown <kbrown@cornell.edu>
Date: Sat Sep 16 22:04:19 2017 -0400
cygwin: Remove comparison of 'this' to NULL in _pinfo::exists
Fix all callers.
Diff:
---
winsup/cygwin/fhandler_termios.cc | 2 +-
winsup/cygwin/pinfo.cc | 2 +-
winsup/cygwin/signal.cc | 2 +-
winsup/cygwin/sigproc.cc | 5 +++--
winsup/cygwin/times.cc | 10 +++++++---
5 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/winsup/cygwin/fhandler_termios.cc b/winsup/cygwin/fhandler_termios.cc
index 19fcfc9..4ce5343 100644
--- a/winsup/cygwin/fhandler_termios.cc
+++ b/winsup/cygwin/fhandler_termios.cc
@@ -131,7 +131,7 @@ tty_min::kill_pgrp (int sig)
for (unsigned i = 0; i < pids.npids; i++)
{
_pinfo *p = pids[i];
- if (!p->exists () || p->ctty != ntty || p->pgid != pgid)
+ if (!p || !p->exists () || p->ctty != ntty || p->pgid != pgid)
continue;
if (p == myself)
killself = sig != __SIGSETPGRP && !exit_state;
diff --git a/winsup/cygwin/pinfo.cc b/winsup/cygwin/pinfo.cc
index 7193f68..e4eef8b 100644
--- a/winsup/cygwin/pinfo.cc
+++ b/winsup/cygwin/pinfo.cc
@@ -529,7 +529,7 @@ _pinfo::set_ctty (fhandler_termios *fh, int flags)
bool __reg1
_pinfo::exists ()
{
- return this && process_state && !(process_state & (PID_EXITED | PID_REAPED | PID_EXECED));
+ return process_state && !(process_state & (PID_EXITED | PID_REAPED | PID_EXECED));
}
bool
diff --git a/winsup/cygwin/signal.cc b/winsup/cygwin/signal.cc
index 016fce1..69c5e2a 100644
--- a/winsup/cygwin/signal.cc
+++ b/winsup/cygwin/signal.cc
@@ -332,7 +332,7 @@ kill_pgrp (pid_t pid, siginfo_t& si)
{
_pinfo *p = pids[i];
- if (!p->exists ())
+ if (!p || !p->exists ())
continue;
/* Is it a process we want to kill? */
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc
index 36fc649..92fa5ea 100644
--- a/winsup/cygwin/sigproc.cc
+++ b/winsup/cygwin/sigproc.cc
@@ -152,7 +152,8 @@ proc_can_be_signalled (_pinfo *p)
bool __reg1
pid_exists (pid_t pid)
{
- return pinfo (pid)->exists ();
+ pinfo p (pid);
+ return p && p->exists ();
}
/* Return true if this is one of our children, false otherwise. */
@@ -1135,7 +1136,7 @@ remove_proc (int ci)
if (_my_tls._ctinfo != procs[ci].wait_thread)
procs[ci].wait_thread->terminate_thread ();
}
- else if (procs[ci]->exists ())
+ else if (procs[ci] && procs[ci]->exists ())
return true;
sigproc_printf ("removing procs[%d], pid %d, nprocs %d", ci, procs[ci]->pid,
diff --git a/winsup/cygwin/times.cc b/winsup/cygwin/times.cc
index fb48051..5da0bbc 100644
--- a/winsup/cygwin/times.cc
+++ b/winsup/cygwin/times.cc
@@ -522,7 +522,7 @@ clock_gettime (clockid_t clk_id, struct timespec *tp)
pid = getpid ();
pinfo p (pid);
- if (!p->exists ())
+ if (!p || !p->exists ())
{
set_errno (EINVAL);
return -1;
@@ -746,8 +746,12 @@ clock_setres (clockid_t clk_id, struct timespec *tp)
extern "C" int
clock_getcpuclockid (pid_t pid, clockid_t *clk_id)
{
- if (pid != 0 && !pinfo (pid)->exists ())
- return (ESRCH);
+ if (pid != 0)
+ {
+ pinfo p (pid);
+ if (!p || !p->exists ())
+ return (ESRCH);
+ }
*clk_id = (clockid_t) PID_TO_CLOCKID (pid);
return 0;
}