htl: Simplify non-cancel path of __pthread_cond_timedwait_internal

Since __pthread_exit does not return, we do not need to indent the
noncancel path

* sysdeps/htl/pt-cond-timedwait.c (__pthread_cond_timedwait_internal):
Move cancelled path before non-cancelled path, to avoid "else"
indentation.
This commit is contained in:
Samuel Thibault 2020-06-23 22:41:18 +00:00
parent 9f6e508b42
commit 3513d5af3d
1 changed files with 23 additions and 22 deletions

View File

@ -117,29 +117,30 @@ __pthread_cond_timedwait_internal (pthread_cond_t *cond,
cancelled = (self->cancel_state == PTHREAD_CANCEL_ENABLE)
&& self->cancel_pending;
if (!cancelled)
{
self->cancel_hook = cancel_hook;
self->cancel_hook_arg = &ctx;
oldtype = self->cancel_type;
if (oldtype != PTHREAD_CANCEL_DEFERRED)
self->cancel_type = PTHREAD_CANCEL_DEFERRED;
/* Add ourselves to the list of waiters. This is done while setting
the cancellation hook to simplify the cancellation procedure, i.e.
if the thread is queued, it can be cancelled, otherwise it is
already unblocked, progressing on the return path. */
__pthread_spin_wait (&cond->__lock);
__pthread_enqueue (&cond->__queue, self);
if (cond->__attr != NULL && clockid == -1)
clock_id = cond->__attr->__clock;
__pthread_spin_unlock (&cond->__lock);
}
__pthread_mutex_unlock (&self->cancel_lock);
if (cancelled)
__pthread_exit (PTHREAD_CANCELED);
{
__pthread_mutex_unlock (&self->cancel_lock);
__pthread_exit (PTHREAD_CANCELED);
}
self->cancel_hook = cancel_hook;
self->cancel_hook_arg = &ctx;
oldtype = self->cancel_type;
if (oldtype != PTHREAD_CANCEL_DEFERRED)
self->cancel_type = PTHREAD_CANCEL_DEFERRED;
/* Add ourselves to the list of waiters. This is done while setting
the cancellation hook to simplify the cancellation procedure, i.e.
if the thread is queued, it can be cancelled, otherwise it is
already unblocked, progressing on the return path. */
__pthread_spin_wait (&cond->__lock);
__pthread_enqueue (&cond->__queue, self);
if (cond->__attr != NULL && clockid == -1)
clock_id = cond->__attr->__clock;
__pthread_spin_unlock (&cond->__lock);
__pthread_mutex_unlock (&self->cancel_lock);
/* Release MUTEX before blocking. */
__pthread_mutex_unlock (mutex);