From dedf3e32636ad6e06d1e9d717aeb3732cba59424 Mon Sep 17 00:00:00 2001 From: scottc Date: Tue, 17 Sep 2002 15:38:47 +0000 Subject: Merged changes from HEAD --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/thread.cc | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index a654b20ba87..29da76c813b 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2002-09-17 Robert Collins + + * thread.cc (pthread_key::set): Preserve GetLastError(). Reported + by Thomas Pffaf. + 2002-09-17 Robert Collins This work inspires by Thomas Pfaff's pthread_fork patch (1). diff --git a/winsup/cygwin/thread.cc b/winsup/cygwin/thread.cc index ff1f3e6a2a6..5dadfee7ee0 100644 --- a/winsup/cygwin/thread.cc +++ b/winsup/cygwin/thread.cc @@ -1101,8 +1101,10 @@ pthread_key::set (const void *value) void * pthread_key::get () { - set_errno (0); - return TlsGetValue (dwTlsIndex); + int savedError = ::GetLastError(); + void *result = TlsGetValue (dwTlsIndex); + ::SetLastError (savedError); + return result; } void -- cgit v1.2.1