From efa8adf5f9bb4ababd27d13e37d97687dfa0a8b4 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 16 Apr 2004 20:44:32 +0000 Subject: Update. 2004-04-16 Jakub Jelinek * misc/syslog.c (vsyslog): Avoid freeing failbuf. 2004-04-15 Jakub Jelinek * rt/Makefile (tests): Add tst-timer4. * rt/tst-timer4.c: New test. 2004-04-15 Jakub Jelinek * rt/tst-mqueue5.c (rtmin_code): New variable. (rtmin_handler): Set it. (thr, do_child, do_test): Also check rtmin_code. 2004-04-14 Jakub Jelinek * rt/Makefile (tests): Add tst-mqueue7. (tst-mqueue7-ARGS): Set. * rt/tst-mqueue7.c: New test. 2004-04-13 Jakub Jelinek * rt/Makefile (tests): Add tst-mqueue5 and tst-mqueue6. * rt/tst-mqueue1.c (do_one_test): Bitwise or check_attrs () into result instead of replacing it. Use TEMP_FAILURE_RETRY around waitpid, kill child if waitpid failed. (do_test): Bitwise or check_attrs () into result instead of replacing it. Change temp mq name. * rt/tst-mqueue5.c: New test. * rt/tst-mqueue6.c: New test. * rt/tst-mqueue.h: Include stdio.h, unistd.h, sys/uio.h. (temp_mq_list, delete_temp_mqs): Remove. (temp_mq_fd): New variable. (do_cleanup, do_prepare): New functions. (add_temp_mq): Rewritten to use a temp file. (PREPARE): Define. (CLEANUP_HANDLER): Change to do_cleanup (). * rt/tst-timer3.c: Don't fail if _POSIX_THREADS is not available. 2004-04-13 Thorsten Kukuk * sysdeps/s390/ffs.c: Include limits.h 2004-04-13 Kaz Kojima * sysdeps/unix/sysv/linux/sh/sysdep.h (SUBSTITUTE_ARGS_1, SUBSTITUTE_ARGS_2, SUBSTITUTE_ARGS_3, SUBSTITUTE_ARGS_4, SUBSTITUTE_ARGS_5, SUBSTITUTE_ARGS_6, SUBSTITUTE_ARGS_7): Load argument values into temporary variables. --- rt/tst-mqueue1.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'rt/tst-mqueue1.c') diff --git a/rt/tst-mqueue1.c b/rt/tst-mqueue1.c index a6f8fb50c7..db4065ea93 100644 --- a/rt/tst-mqueue1.c +++ b/rt/tst-mqueue1.c @@ -83,7 +83,7 @@ do_one_test (mqd_t q, const char *name, int nonblock) result = 1; } else - result = check_attrs (&attr, nonblock, 0); + result |= check_attrs (&attr, nonblock, 0); if (mq_receive (q, &v[0], 1, NULL) != -1) { @@ -156,7 +156,7 @@ do_one_test (mqd_t q, const char *name, int nonblock) result = 1; } else - result = check_attrs (&attr, nonblock, 10); + result |= check_attrs (&attr, nonblock, 10); pid_t pid = fork (); if (pid == -1) @@ -188,7 +188,7 @@ do_one_test (mqd_t q, const char *name, int nonblock) result = 1; } else - result = check_attrs (&attr, nonblock, 10); + result |= check_attrs (&attr, nonblock, 10); unsigned char vr[11] = { }; unsigned int prio; @@ -272,7 +272,7 @@ do_one_test (mqd_t q, const char *name, int nonblock) result = 1; } else - result = check_attrs (&attr, nonblock, 0); + result |= check_attrs (&attr, nonblock, 0); if (mq_close (q) != 0) { @@ -284,9 +284,10 @@ do_one_test (mqd_t q, const char *name, int nonblock) } 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)) @@ -302,7 +303,7 @@ do_one_test (mqd_t q, const char *name, int nonblock) result = 1; } else - result = check_attrs (&attr, nonblock, 0); + result |= check_attrs (&attr, nonblock, 0); return result; } @@ -313,8 +314,8 @@ do_test (void) { 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); @@ -327,7 +328,7 @@ do_test (void) 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) -- cgit 1.4.1