| This patch is a RHEL-only patch which modifies the custom changes |
| in the previous patches in this series to make the test case look |
| more like the upstream test case. |
| |
| diff -rup a/stdlib/tst-system.c b/stdlib/tst-system.c |
| |
| |
| @@ -173,10 +173,10 @@ do_test (void) |
| { |
| pthread_t long_sleep_thread = xpthread_create (NULL, |
| sleep_and_check_sigchld, |
| - &(double) { 2 }); |
| + &(double) { 0.2 }); |
| pthread_t short_sleep_thread = xpthread_create (NULL, |
| sleep_and_check_sigchld, |
| - &(double) { 1 }); |
| + &(double) { 0.1 }); |
| xpthread_join (short_sleep_thread); |
| xpthread_join (long_sleep_thread); |
| } |
| diff -rup a/support/shell-container.c b/support/shell-container.c |
| |
| |
| @@ -182,15 +182,15 @@ sleep_func (char **argv) |
| return 1; |
| } |
| char *endptr = NULL; |
| - long sec = strtol (argv[0], &endptr, 0); |
| + double sec = strtod (argv[0], &endptr); |
| if (endptr == argv[0] || errno == ERANGE || sec < 0) |
| { |
| fprintf (stderr, "sleep: invalid time interval '%s'\n", argv[0]); |
| return 1; |
| } |
| - if (sleep (sec) < 0) |
| + if (usleep ((useconds_t)(sec * 1000000.0)) < 0) |
| { |
| - fprintf (stderr, "sleep: failed to nanosleep\n"); |
| + fprintf (stderr, "sleep: failed to usleep: %s\n", strerror (errno)); |
| return 1; |
| } |
| return 0; |