From 5003a3d1c5a197e34ea684d3e3f6d4a2daf1ff49 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Thu, 28 Feb 2008 17:09:34 +0000 Subject: [PATCH] * exceptions.cc (open_stackdumpfile): Add comments. --- winsup/cygwin/ChangeLog | 4 ++++ winsup/cygwin/exceptions.cc | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index a887b9b77..f2bf25cd4 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,7 @@ +2008-02-28 Corinna Vinschen + + * exceptions.cc (open_stackdumpfile): Add comments. + 2008-02-28 Corinna Vinschen * exceptions.cc (open_stackdumpfile): Use NtCreateFile to create diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index a903852ee..999094d30 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -145,18 +145,21 @@ open_stackdumpfile () WCHAR corefile[strlen (p) + sizeof (".stackdump")]; UNICODE_STRING ucore; OBJECT_ATTRIBUTES attr; + /* Create the UNICODE variation of .stackdump. */ RtlInitEmptyUnicodeString (&ucore, corefile, sizeof corefile - sizeof (WCHAR)); ucore.Length = sys_mbstowcs (ucore.Buffer, ucore.MaximumLength / sizeof (WCHAR), p, strlen (p)) * sizeof (WCHAR); RtlAppendUnicodeToString (&ucore, L".stackdump"); + /* Create an object attribute which refers to .stackdump + in Cygwin's cwd. */ InitializeObjectAttributes (&attr, &ucore, OBJ_CASE_INSENSITIVE, cygheap->cwd.get_handle (), NULL); HANDLE h; IO_STATUS_BLOCK io; NTSTATUS status; - + /* Try to open it to dump the stack in it. */ status = NtCreateFile (&h, GENERIC_WRITE | SYNCHRONIZE, &attr, &io, NULL, FILE_ATTRIBUTE_NORMAL, 0, FILE_OVERWRITE_IF, FILE_SYNCHRONOUS_IO_NONALERT -- 2.43.5