[LTP] [PATCH v1] mq_timedreceive01: fails sometimes with EEXIST. When run in parallel you can sometimes get the following error: TBROK: mq_open(/test_mqueue, 194, 0700, (nil)) failed: EEXIST (17)
Stephen Bertram
sbertram@redhat.com
Tue Feb 10 00:47:38 CET 2026
Hi Team,
I saw my issue after sending the email. Can you please close this one? I
cleaned up and submitted this to replace it,
https://lists.linux.it/pipermail/ltp/2026-February/046485.html.
thank you,
stephen
He/His/Him
On Mon, Feb 9, 2026 at 6:37 PM Stephen Bertram <sbertram@redhat.com> wrote:
> This change allows for unique queue names per
> process, when executed in parallel with -w #.
> ---
> testcases/kernel/syscalls/utils/mq.h | 15 +++++++++------
> 1 file changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/testcases/kernel/syscalls/utils/mq.h
> b/testcases/kernel/syscalls/utils/mq.h
> index da45d2daf..eb66328d5 100644
> --- a/testcases/kernel/syscalls/utils/mq.h
> +++ b/testcases/kernel/syscalls/utils/mq.h
> @@ -12,9 +12,9 @@
>
> #define MAX_MSGSIZE 8192
> #define MSG_LENGTH 10
> -#define QUEUE_NAME "/test_mqueue"
> -#define QUEUE_NAME_NONBLOCK "/test_mqueue_nonblock"
>
> +static char queue_name[64];
> +static char queue_name_nonblock[64];
> static char smsg[MAX_MSGSIZE];
> static struct sigaction act;
>
> @@ -29,8 +29,8 @@ static void cleanup_common(void)
> if (fd_nonblock > 0)
> SAFE_CLOSE(fd_nonblock);
>
> - mq_unlink(QUEUE_NAME);
> - mq_unlink(QUEUE_NAME_NONBLOCK);
> + mq_unlink(queue_name);
> + mq_unlink(queue_name_nonblock);
> }
>
> static void sighandler(int sig LTP_ATTRIBUTE_UNUSED) { }
> @@ -39,14 +39,17 @@ static void setup_common(void)
> {
> int i;
>
> + snprintf(queue_name, sizeof(queue_name), "/test_mqueue_%d",
> getpid());
> + snprintf(queue_name_nonblock, sizeof(queue_name_nonblock),
> "/test_mqueue_nonblock_%d", getpid());
> +
> act.sa_handler = sighandler;
> sigaction(SIGINT, &act, NULL);
>
> cleanup_common();
>
> fd_root = SAFE_OPEN("/", O_RDONLY);
> - fd = SAFE_MQ_OPEN(QUEUE_NAME, O_CREAT | O_EXCL | O_RDWR, 0700,
> NULL);
> - fd_nonblock = SAFE_MQ_OPEN(QUEUE_NAME_NONBLOCK, O_CREAT | O_EXCL |
> O_RDWR |
> + fd = SAFE_MQ_OPEN(queue_name, O_CREAT | O_EXCL | O_RDWR, 0700,
> NULL);
> + fd_nonblock = SAFE_MQ_OPEN(queue_name_nonblock, O_CREAT | O_EXCL |
> O_RDWR |
> O_NONBLOCK, 0700, NULL);
>
> for (i = 0; i < MAX_MSGSIZE; i++)
> --
> 2.52.0
>
>
More information about the ltp
mailing list