Hello,
we are using your crate to perform directory cleanup on a Linux machine. When using the remove_dir_all / remove_dir_contents call, we have noticed that if the directory or subdirectories contain a named pipe, the function will hang and the cleanup will not finish. The issue comes from using open_dir_at in scan_and_remove_entry_recursively to determine whether you are currently handling a directory or not. Since open_dir_at will always pass the O_RDONLY flag, when this is called on a named pipe, the call blocks (until another process opens the pipe for writing, which does not happen).
Hello,
we are using your crate to perform directory cleanup on a Linux machine. When using the remove_dir_all / remove_dir_contents call, we have noticed that if the directory or subdirectories contain a named pipe, the function will hang and the cleanup will not finish. The issue comes from using
open_dir_atinscan_and_remove_entry_recursivelyto determine whether you are currently handling a directory or not. Sinceopen_dir_atwill always pass theO_RDONLYflag, when this is called on a named pipe, the call blocks (until another process opens the pipe for writing, which does not happen).