aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygwin/thread.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2003-12-15 14:38:12 +0000
committerChristopher Faylor <me@cgf.cx>2003-12-15 14:38:12 +0000
commit5c07a5745f47771a1e460a954c4744e9de4fd164 (patch)
treeac180c44f3ec1e1b7e696e242e200413e2b4266b /winsup/cygwin/thread.cc
parent5e2a359c44421e26dc0ebdd8ed408e398a9c11a8 (diff)
downloadnewlib-5c07a5745f47771a1e460a954c4744e9de4fd164.zip
newlib-5c07a5745f47771a1e460a954c4744e9de4fd164.tar.gz
newlib-5c07a5745f47771a1e460a954c4744e9de4fd164.tar.bz2
* thread.cc (pthread::init_main_thread): Make sure that the main thread has
valid handles. (pthread::create_cancel_event): Fix error message.
Diffstat (limited to 'winsup/cygwin/thread.cc')
-rw-r--r--winsup/cygwin/thread.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/winsup/cygwin/thread.cc b/winsup/cygwin/thread.cc
index 93bf701..ca2e3bf 100644
--- a/winsup/cygwin/thread.cc
+++ b/winsup/cygwin/thread.cc
@@ -231,9 +231,10 @@ pthread::init_mainthread ()
if (!DuplicateHandle (GetCurrentProcess (), GetCurrentThread (),
GetCurrentProcess (), &thread->win32_obj_id,
0, FALSE, DUPLICATE_SAME_ACCESS))
- thread->win32_obj_id = NULL;
+ api_fatal ("failed to create mainthread handle");
thread->set_tls_self_pointer ();
- (void) thread->create_cancel_event ();
+ if (!thread->create_cancel_event ())
+ api_fatal ("couldn't create cancel event for main thread");
thread->postcreate ();
}
@@ -289,7 +290,7 @@ pthread::create_cancel_event ()
cancel_event = ::CreateEvent (&sec_none_nih, TRUE, FALSE, NULL);
if (!cancel_event)
{
- system_printf ("couldn't create cancel event for main thread, %E");
+ system_printf ("couldn't create cancel event, %E");
/* we need the event for correct behaviour */
return false;
}