aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygwin/exceptions.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2001-11-24 03:11:39 +0000
committerChristopher Faylor <me@cgf.cx>2001-11-24 03:11:39 +0000
commit5a64d8694176dbe7bd0c61c33d6e6cecd54d7a71 (patch)
treeed983f64a85995a97696cc7a132741e37f7498e7 /winsup/cygwin/exceptions.cc
parent97a2e0756d28fc4d0cf62ce5778b7d73160f77e5 (diff)
downloadnewlib-5a64d8694176dbe7bd0c61c33d6e6cecd54d7a71.zip
newlib-5a64d8694176dbe7bd0c61c33d6e6cecd54d7a71.tar.gz
newlib-5a64d8694176dbe7bd0c61c33d6e6cecd54d7a71.tar.bz2
* dtable.cc (dtable::vfork_parent_restore): Add debugging statement.
* exceptions.cc (try_to_debug): Spin only as long as we don't have a debugger attached. * fhandler.h (fhandler_base::set_nohandle): New method. (fhandler_base::get_nohandle): New method. * fhandler.cc (fhandler_base::dup): Avoid duplicating handle if there is no handle. * fhandler_disk_file.cc (fhandler_disk_file::opendir): Set nohandle flag on dummy fd. * Makefile.in: Make intermediate library for eventual inclusion in libcygwin.a * fhandler.h (fhandler_pipe::fhandler_pipe): Remove default argument setting since it is no longer used. * miscfuncs.cc (check_null_str): New function. (+check_null_str_errno): Ditto. * net.cc: Add defensive buffer checking throughout. (cygwin_sendto): Protect against invalid fd. (cygwin_recvfrom): Ditto. (cygwin_getpeername): Ditto. (cygwin_recv): Ditto. (cygwin_send): Ditto. * winsup.h: Declare a new function. * select.cc (set_bits): Fix conditional for setting fd in exceptfds. * dtable.cc (dtable::build_fhandler): Create fhandler_pipe using correct device type. * path.cc (get_devn): Set correct pipe device type from device name.
Diffstat (limited to 'winsup/cygwin/exceptions.cc')
-rw-r--r--winsup/cygwin/exceptions.cc12
1 files changed, 6 insertions, 6 deletions
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc
index 41a1319..a948116 100644
--- a/winsup/cygwin/exceptions.cc
+++ b/winsup/cygwin/exceptions.cc
@@ -383,19 +383,19 @@ try_to_debug (bool waitloop)
&si,
&pi);
- static int NO_COPY keep_looping = 0;
-
- if (dbg)
+ if (!dbg)
+ system_printf ("Failed to start debugger: %E");
+ else
{
if (!waitloop)
return 1;
SetThreadPriority (hMainThread, THREAD_PRIORITY_IDLE);
- while (keep_looping)
+ while (!IsDebuggerPresent ())
/* spin */;
+ Sleep (4000);
+ small_printf ("*** continuing from debugger call\n");
}
-
- system_printf ("Failed to start debugger: %E");
/* FIXME: need to know handles of all running threads to
resume_all_threads_except (current_thread_id);
*/