|
|
Message-ID: <A8EA39FF-D7EA-45BE-91AA-5E279522BD4B@inria.fr>
Date: Sat, 24 Jun 2017 19:51:27 +0200
From: Jens Gustedt <jens.gustedt@...ia.fr>
To: musl@...ts.openwall.com
Subject: Re: [PATCH] unify the use of FUTEX_PRIVATE
Am 24. Juni 2017 18:40:26 MESZ schrieb Szabolcs Nagy <nsz@...t70.net>:
>* Jens Gustedt <Jens.Gustedt@...ia.fr> [2017-06-24 10:18:05 +0200]:
>> The flag 1<<7 is used in several places for different purposes that
>are
>> not always easy to distinguish. Mark those usages that correspond to
>the
>> flag that is used by the kernel for futexes.
>> ---
>> src/internal/pthread_impl.h | 2 +-
>> src/thread/__timedwait.c | 2 +-
>> src/thread/pthread_barrier_wait.c | 2 +-
>> src/thread/pthread_cond_timedwait.c | 2 +-
>> 4 files changed, 4 insertions(+), 4 deletions(-)
>>
>
>i see further use of 128
>
>src/thread/pthread_attr_get.c: *pshared = a->__attr / 128U % 2;
>src/thread/pthread_cond_timedwait.c:
>unlock_requeue(&node.prev->barrier, &m->_m_lock, m->_m_type & 128);
>src/thread/pthread_create.c: int priv = (m->_m_type & 128) ^
>128;
>src/thread/pthread_mutex_timedlock.c: int r, t, priv = (m->_m_type &
>128) ^ 128;
>src/thread/pthread_mutex_trylock.c: if (m->_m_type & 128) {
>src/thread/pthread_mutex_unlock.c: int priv = (m->_m_type & 128) ^
>128;
>src/thread/pthread_mutexattr_setpshared.c: a->__attr &= ~128U;
>src/thread/pthread_rwlock_init.c: if (a) rw->_rw_shared =
>a->__attr[0]*128;
>src/thread/pthread_rwlock_timedrdlock.c: r =
>__timedwait(&rw->_rw_lock, t, CLOCK_REALTIME, at, rw->_rw_shared^128);
>src/thread/pthread_rwlock_timedwrlock.c: r =
>__timedwait(&rw->_rw_lock, t, CLOCK_REALTIME, at, rw->_rw_shared^128);
>src/thread/pthread_rwlock_unlock.c: int val, cnt, waiters, new,
>priv = rw->_rw_shared^128;
>src/thread/sem_init.c: sem->__val[2] = pshared ? 0 : 128;
>
>i think some of these are the same flag
I don't think so.
For mutexes the sense is "shared" so just the opposite meaning, and for rwlock, too, it seems.
For sem it is just a screwed Boolean..
I would merely tend to have different names for them, but that's a bit invasive.
Jens
--
Jens Gustedt - INRIA & ICube, Strasbourg, France
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.