This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC][BZ #13690] Always read private before lll_unlock.


On Friday 06 December 2013 14:43:05 OndÅej BÃlka wrote:
> --- /dev/null
> +++ b/include/futex_unlock.h

probably should live at nptl/lowlevellock_unlock

> @@ -0,0 +1,15 @@
> +#define lll_unlock(lock, private) \

all new files need a proper comment header block

> +  ((void)) ({								      \
> +    int __private = private;						      \
> +    __lll_unlock (lock, __private);					      \
> +  })
> +
> +#define lll_unlock(lock, private) \

did i misread, or are both of these macros named "lll_unlock" ?  should one 
have a __ prefix ?

> +  ((void) ({								      \
> +    int *__futex = &(lock);						      \
> +    int __val = atomic_exchange_rel (__futex, 0);			      \
> +    if (__builtin_expect (__val > 1, 0))				      \
> +      lll_futex_wake (__futex, 1, private);				      \
> +  }))
> +
> +

no trailing newlines please
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]