result = 1;
}
else
- result = check_attrs (&attr, nonblock, 0);
+ result |= check_attrs (&attr, nonblock, 0);
if (mq_receive (q, &v[0], 1, NULL) != -1)
{
result = 1;
}
else
- result = check_attrs (&attr, nonblock, 10);
+ result |= check_attrs (&attr, nonblock, 10);
pid_t pid = fork ();
if (pid == -1)
result = 1;
}
else
- result = check_attrs (&attr, nonblock, 10);
+ result |= check_attrs (&attr, nonblock, 10);
unsigned char vr[11] = { };
unsigned int prio;
result = 1;
}
else
- result = check_attrs (&attr, nonblock, 0);
+ result |= check_attrs (&attr, nonblock, 0);
if (mq_close (q) != 0)
{
}
int status;
- if (waitpid (pid, &status, 0) != pid)
+ if (TEMP_FAILURE_RETRY (waitpid (pid, &status, 0)) != pid)
{
printf ("waitpid failed: %m\n");
+ kill (pid, SIGKILL);
result = 1;
}
else if (!WIFEXITED (status) || WEXITSTATUS (status))
result = 1;
}
else
- result = check_attrs (&attr, nonblock, 0);
+ result |= check_attrs (&attr, nonblock, 0);
return result;
}
{
int result = 0;
- char name[sizeof "/tst-mqueue-" + sizeof (pid_t) * 3];
- snprintf (name, sizeof (name), "/tst-mqueue-%u", getpid ());
+ char name[sizeof "/tst-mqueue1-" + sizeof (pid_t) * 3];
+ snprintf (name, sizeof (name), "/tst-mqueue1-%u", getpid ());
struct mq_attr attr = { .mq_maxmsg = 10, .mq_msgsize = 1 };
mqd_t q = mq_open (name, O_CREAT | O_EXCL | O_WRONLY, 0600, &attr);
else
add_temp_mq (name);
- result = do_one_test (q, name, 0);
+ result |= do_one_test (q, name, 0);
mqd_t q2 = mq_open (name, O_WRONLY | O_NONBLOCK);
if (q2 == (mqd_t) -1)