[PATCH v2][BZ 13690] Do not violate mutex destruction requirements.

Andreas Schwab schwab@suse.de
Mon Aug 24 07:32:00 GMT 2015


Torvald Riegel <triegel@redhat.com> writes:

> diff --git a/sysdeps/unix/sysv/linux/lowlevellock-futex.h b/sysdeps/unix/sysv/linux/lowlevellock-futex.h
> index 59f6627..e1a9c58 100644
> --- a/sysdeps/unix/sysv/linux/lowlevellock-futex.h
> +++ b/sysdeps/unix/sysv/linux/lowlevellock-futex.h
> @@ -54,8 +54,13 @@
>  #if IS_IN (libc) || IS_IN (rtld)
>  /* In libc.so or ld.so all futexes are private.  */
>  # ifdef __ASSUME_PRIVATE_FUTEX
> -#  define __lll_private_flag(fl, private) \
> -  ((fl) | FUTEX_PRIVATE_FLAG)
> +#  define __lll_private_flag(fl, private)			\
> +  ({								\
> +    /* Prevent warnings in callers of this macro.  */		\
> +    int __lll_private_flag_priv __attribute__ ((unused));	\
> +    __lll_private_flag_priv = private;				\

Macro parameters should be parenthesized.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."



More information about the Libc-alpha mailing list