From 6c3a5d263f3cdfb6703434439bdc84c3a1e29159 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Tue, 8 Dec 2015 17:55:33 +0100 Subject: [PATCH] Remove unnecessary locking in pthread_setcancelstate/pthread_setcanceltype * thread.cc (pthread::setcancelstate): Remove unnecessary locking. (pthread::setcanceltype): Ditto. Signed-off-by: Corinna Vinschen --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/thread.cc | 36 ++++++++++-------------------------- 2 files changed, 15 insertions(+), 26 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index c585dd984..16282e01f 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2015-12-08 Corinna Vinschen + + * thread.cc (pthread::setcancelstate): Remove unnecessary locking. + (pthread::setcanceltype): Ditto. + 2015-12-08 Corinna Vinschen * ntdll.h (FILE_ID_BOTH_DIR_INFORMATION): Rename FileId to IndexNumber diff --git a/winsup/cygwin/thread.cc b/winsup/cygwin/thread.cc index ff8459015..8f299008b 100644 --- a/winsup/cygwin/thread.cc +++ b/winsup/cygwin/thread.cc @@ -966,43 +966,27 @@ pthread::static_cancel_self () int pthread::setcancelstate (int state, int *oldstate) { - int result = 0; - - mutex.lock (); - if (state != PTHREAD_CANCEL_ENABLE && state != PTHREAD_CANCEL_DISABLE) - result = EINVAL; - else - { - if (oldstate) - *oldstate = cancelstate; - cancelstate = state; - } + return EINVAL; - mutex.unlock (); + if (oldstate) + *oldstate = cancelstate; + cancelstate = state; - return result; + return 0; } int pthread::setcanceltype (int type, int *oldtype) { - int result = 0; - - mutex.lock (); - if (type != PTHREAD_CANCEL_DEFERRED && type != PTHREAD_CANCEL_ASYNCHRONOUS) - result = EINVAL; - else - { - if (oldtype) - *oldtype = canceltype; - canceltype = type; - } + return EINVAL; - mutex.unlock (); + if (oldtype) + *oldtype = canceltype; + canceltype = type; - return result; + return 0; } void