diff options
author | Christopher Faylor <me@cgf.cx> | 2012-01-22 10:45:08 +0400 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2012-01-22 10:45:08 +0400 |
commit | ad87edbe61a324a67be86eb0d2efafa4d52b4a6f (patch) | |
tree | 45e0686a448bf1c0cd937290ba8ab769f213a619 /winsup/cygwin/cygheap.h | |
parent | 5259273091c45c6338e3452f8571f32884f385e4 (diff) |
* cygheap.h (cygheap_fdget::~cygheap_fdget): Simplify now that refcnt reports
reference count changes itself.
* fhandler.cc (fhandler_base::reset): Set _refcnt to 0.
* fhandler.h (fhandler_base::refcnt): Report refcnt when debugging.
* select.cc (cygwin_select): Set return_on_signal to indicate when select
should be interrupted.
(select_stuff::wait): Keep looping unless return_on_signal is set.
* select.h (select_stuff::return_on_signal): New variable.
(select_stuff::select_stuff): Zero return_on_signal.
Diffstat (limited to 'winsup/cygwin/cygheap.h')
-rw-r--r-- | winsup/cygwin/cygheap.h | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/winsup/cygwin/cygheap.h b/winsup/cygwin/cygheap.h index 5d7b93dcc..3bba1ae9f 100644 --- a/winsup/cygwin/cygheap.h +++ b/winsup/cygwin/cygheap.h @@ -1,7 +1,7 @@ /* cygheap.h: Cygwin heap manager. Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, - 2010, 2011 Red Hat, Inc. + 2010, 2011, 2012 Red Hat, Inc. This file is part of Cygwin. @@ -401,13 +401,9 @@ public: } ~cygheap_fdget () { - if (!fh) - /* nothing to do */; - else if (fh->refcnt (-1) > 0) - debug_only_printf ("fh %p, %s, refcnt %ld", fh, fh->get_name (), fh->refcnt ()); - else + if (fh && fh->refcnt (-1) <= 0) { - debug_only_printf ("deleting fh %p, %s, refcnt %ld", fh, fh->get_name (), fh->refcnt ()); + debug_only_printf ("deleting fh %p", fh); delete fh; } } |