* gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
authorcgf <cgf@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 12 Jan 2001 01:23:46 +0000 (01:23 +0000)
committercgf <cgf@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 12 Jan 2001 01:23:46 +0000 (01:23 +0000)
LastError.
(__gthread_getspecific): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38932 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/gthr-win32.h

index a04f135..0a3c2e6 100644 (file)
@@ -1,3 +1,9 @@
+2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
+
+       * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
+       LastError.
+       (__gthread_getspecific): Ditto.
+
 Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
 
        * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
index 119cbc7..dbe5e5b 100644 (file)
@@ -204,7 +204,16 @@ __gthread_objc_thread_set_data(void *value)
 void *
 __gthread_objc_thread_get_data(void)
 {
-  return TlsGetValue(__gthread_objc_data_tls);          /* Return thread data.      */
+  DWORD lasterror;
+  void *ptr;
+
+  lasterror = GetLastError();
+
+  ptr = TlsGetValue(__gthread_objc_data_tls);          /* Return thread data.      */
+
+  SetLastError( lasterror );
+
+  return ptr;
 }
 
 /* Backend mutex functions */
@@ -413,7 +422,16 @@ __gthread_key_delete (__gthread_key_t key)
 static inline void *
 __gthread_getspecific (__gthread_key_t key)
 {
-  return TlsGetValue (key);
+  DWORD lasterror;
+  void *ptr;
+
+  lasterror = GetLastError();
+
+  ptr = TlsGetValue(key);
+
+  SetLastError( lasterror );
+
+  return ptr;
 }
 
 static inline int