[PATCH v2 2/4] tst-fopen-threaded.c: Delete temporary file

Adhemerval Zanella Netto adhemerval.zanella@linaro.org
Mon Aug 4 18:39:02 GMT 2025



On 19/07/25 11:43, H.J. Lu wrote:
> Update tst-fopen-threaded.c to call support_create_temp_directory to
> create a temporary directory and open "file" in the temporary directory,
> instead of using /tmp/openclosetest and leaving it behind.
> 
> This partially fixes BZ #33182.
> 
> Signed-off-by: H.J. Lu <hjl.tools@gmail.com>

LGTM, thanks.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>

> ---
>  sysdeps/pthread/tst-fopen-threaded.c | 14 ++++++++++++--
>  1 file changed, 12 insertions(+), 2 deletions(-)
> 
> diff --git a/sysdeps/pthread/tst-fopen-threaded.c b/sysdeps/pthread/tst-fopen-threaded.c
> index ade58ad19e..c17f1eaa13 100644
> --- a/sysdeps/pthread/tst-fopen-threaded.c
> +++ b/sysdeps/pthread/tst-fopen-threaded.c
> @@ -34,11 +34,13 @@
>  #include <stdio.h>
>  #include <string.h>
>  #include <unistd.h>
> +#include <stdlib.h>
>  
>  #include <support/check.h>
>  #include <support/temp_file.h>
>  #include <support/xstdio.h>
>  #include <support/xthread.h>
> +#include <support/support.h>
>  
>  #define NUM_THREADS 100
>  #define ITERS 10
> @@ -111,7 +113,8 @@ threadOpenCloseRoutine (void *argv)
>    /* Wait for all threads to be ready to call fopen and fclose.  */
>    xpthread_barrier_wait (&barrier);
>  
> -  FILE *fd = xfopen ("/tmp/openclosetest", "w+");
> +  char *file = (char *) argv;
> +  FILE *fd = xfopen (file, "w+");
>    xfclose (fd);
>    return NULL;
>  }
> @@ -235,6 +238,10 @@ do_test (void)
>        xfclose (fd_file);
>      }
>  
> +  char *tempdir = support_create_temp_directory ("openclosetest-");
> +  char *file = xasprintf ("%s/file", tempdir);
> +  add_temp_file (file);
> +
>    /* Test 3: Concurrent open/close.  */
>    for (int reps = 1; reps <= ITERS; reps++)
>      {
> @@ -243,7 +250,7 @@ do_test (void)
>          {
>            threads[i] =
>              xpthread_create (support_small_stack_thread_attribute (),
> -                             threadOpenCloseRoutine, NULL);
> +                             threadOpenCloseRoutine, file);
>          }
>        for (int i = 0; i < NUM_THREADS; i++)
>          {
> @@ -252,6 +259,9 @@ do_test (void)
>        xpthread_barrier_destroy (&barrier);
>      }
>  
> +  free (file);
> +  free (tempdir);
> +
>    return 0;
>  }
>  



More information about the Libc-alpha mailing list