This is the mail archive of the
cygwin-cvs@cygwin.com
mailing list for the Cygwin project.
[newlib-cygwin] Remove unnecessary locking in pthread_setcancelstate/pthread_setcanceltype
- From: Corinna Vinschen <corinna at sourceware dot org>
- To: cygwin-cvs at sourceware dot org
- Date: 8 Dec 2015 16:55:43 -0000
- Subject: [newlib-cygwin] Remove unnecessary locking in pthread_setcancelstate/pthread_setcanceltype
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=6c3a5d263f3cdfb6703434439bdc84c3a1e29159
commit 6c3a5d263f3cdfb6703434439bdc84c3a1e29159
Author: Corinna Vinschen <corinna@vinschen.de>
Date: Tue Dec 8 17:55:33 2015 +0100
Remove unnecessary locking in pthread_setcancelstate/pthread_setcanceltype
* thread.cc (pthread::setcancelstate): Remove unnecessary locking.
(pthread::setcanceltype): Ditto.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diff:
---
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 c585dd9..16282e0 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,10 @@
2015-12-08 Corinna Vinschen <corinna@vinschen.de>
+ * thread.cc (pthread::setcancelstate): Remove unnecessary locking.
+ (pthread::setcanceltype): Ditto.
+
+2015-12-08 Corinna Vinschen <corinna@vinschen.de>
+
* ntdll.h (FILE_ID_BOTH_DIR_INFORMATION): Rename FileId to IndexNumber
to align with Microsoft naming scheme.
(FILE_INTERNAL_INFORMATION): Ditto.
diff --git a/winsup/cygwin/thread.cc b/winsup/cygwin/thread.cc
index ff84590..8f29900 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