diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 7bf04f502..c5159ef37 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,10 @@ +2005-05-28 Christopher Faylor + + * thread.h (pthread_key::set): Inline. + (pthread_key::get): Ditto. + * thread.cc (pthread::set): Delete. + (pthread::get): Ditto. + 2005-05-28 Christopher Faylor * cygwin.din: Remove signal front end from pthread_[gs]etspecific. diff --git a/winsup/cygwin/thread.cc b/winsup/cygwin/thread.cc index 796453728..e2ffe8e12 100644 --- a/winsup/cygwin/thread.cc +++ b/winsup/cygwin/thread.cc @@ -1367,23 +1367,6 @@ pthread_key::~pthread_key () } } -int -pthread_key::set (const void *value) -{ - /* the OS function doesn't perform error checking */ - TlsSetValue (tls_index, (void *) value); - return 0; -} - -void * -pthread_key::get () const -{ - int saved_error = ::GetLastError (); - void *result = TlsGetValue (tls_index); - ::SetLastError (saved_error); - return result; -} - void pthread_key::_fixup_before_fork () { diff --git a/winsup/cygwin/thread.h b/winsup/cygwin/thread.h index 712e36f03..be2ada6bc 100644 --- a/winsup/cygwin/thread.h +++ b/winsup/cygwin/thread.h @@ -209,12 +209,12 @@ protected: class pthread_key: public verifyable_object { + DWORD tls_index; public: static bool is_good_object (pthread_key_t const *); - DWORD tls_index; - int set (const void *); - void *get () const; + int set (const void *value) {TlsSetValue (tls_index, (void *) value); return 0;} + void *get () const {return TlsGetValue (tls_index);} pthread_key (void (*)(void *)); ~pthread_key ();