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>
This commit is contained in:
Corinna Vinschen 2015-12-08 17:55:33 +01:00
parent d0f5f4c422
commit 6c3a5d263f
2 changed files with 15 additions and 26 deletions

View File

@ -1,3 +1,8 @@
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

View File

@ -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