[LTP] [PATCH v2 1/7] Add more safe macros for mqueue API

Petr Vorel pvorel@suse.cz
Thu Jun 16 23:52:13 CEST 2022


Hi Andrea,

> Added SAFE_MQ_UNLINK and SAFE_MQ_CLOSE in tst_safe_posix_ipc.h

LGTM, few minor notes below.

Reviewed-by: Petr Vorel <petr.vorel@gmail.com>

> +++ b/include/tst_safe_posix_ipc.h
> @@ -11,6 +11,10 @@

>  #define SAFE_MQ_OPEN(pathname, oflags, ...) \
>  	safe_mq_open(__FILE__, __LINE__, (pathname), (oflags), ##__VA_ARGS__)
I'd add blank line here (readability)

> +#define SAFE_MQ_CLOSE(__mqdes) \
> +	safe_mq_close(__FILE__, __LINE__, (__mqdes))

and here.
> +#define SAFE_MQ_UNLINK(name) \
> +	safe_mq_unlink(__FILE__, __LINE__, (name))

>  static inline int safe_mq_open(const char *file, const int lineno,
>  			       const char *pathname, int oflags, ...)
> @@ -46,4 +50,34 @@ static inline int safe_mq_open(const char *file, const int lineno,
>  	return rval;
>  }

> +static inline int safe_mq_close(const char *file, const int lineno,
> +				mqd_t __mqdes)
> +{
> +	int rval;
> +
> +	rval = mq_close(__mqdes);
> +
> +	if (rval == -1) {
> +		tst_brk_(file, lineno, TBROK | TERRNO,
> +			"mq_close(%d) failed", __mqdes);
> +	}

How about check for invalid return value?

	} else if (rval < 0) {
		tst_brk_(file, lineno, TBROK | TERRNO,
			"Invalid mq_close(%d) return value %d", __mqdes, rval);
	}

> +
> +	return rval;
> +}
> +
> +static inline int safe_mq_unlink(const char *file, const int lineno,
> +				const char* name)
> +{
> +	int rval;
> +
> +	rval = mq_unlink(name);
> +
> +	if (rval == -1) {
> +		tst_brk_(file, lineno, TBROK | TERRNO,
> +			"mq_unlink(%s) failed", name);
> +	}
And here.


Kind regards,
Petr

> +
> +	return rval;
> +}
> +
>  #endif /* TST_SAFE_POSIX_IPC_H__ */


More information about the ltp mailing list