diff options
Diffstat (limited to 'winsup/cygwin/thread.cc')
-rw-r--r-- | winsup/cygwin/thread.cc | 6 |
1 files changed, 4 insertions, 2 deletions
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 |