@@ -1100,3 +1100,36 @@ pub fn lchown<P: AsRef<Path>>(dir: P, uid: Option<u32>, gid: Option<u32>) -> io:
11001100pub  fn  chroot < P :  AsRef < Path > > ( dir :  P )  -> io:: Result < ( ) >  { 
11011101    sys:: fs:: chroot ( dir. as_ref ( ) ) 
11021102} 
1103+ 
1104+ /// Create a FIFO special file at the specified path with the specified mode. 
1105+ /// 
1106+ /// # Examples 
1107+ /// 
1108+ /// ``` 
1109+ /// # #![feature(unix_mkfifo)] 
1110+ /// # use std::{ 
1111+ /// #     os::unix::fs::{mkfifo, PermissionsExt}, 
1112+ /// #     fs::{File, Permissions, remove_file}, 
1113+ /// #     io::{Write, Read}, 
1114+ /// # }; 
1115+ /// # fn main() -> std::io::Result<()> { 
1116+ /// # remove_file("/tmp/fifo")?; 
1117+ /// mkfifo("/tmp/fifo", Permissions::from_mode(0o774))?; 
1118+ /// 
1119+ /// let mut wx = File::options().read(true).write(true).open("/tmp/fifo")?; 
1120+ /// let mut rx = File::open("/tmp/fifo")?; 
1121+ /// 
1122+ /// wx.write_all(b"hello, world!")?; 
1123+ /// drop(wx); 
1124+ /// 
1125+ /// let mut s = String::new(); 
1126+ /// rx.read_to_string(&mut s)?; 
1127+ /// 
1128+ /// assert_eq!(s, "hello, world!"); 
1129+ /// # Ok(()) 
1130+ /// # } 
1131+ /// ``` 
1132+ #[ unstable( feature = "unix_mkfifo" ,  issue = "139324" ) ]  
1133+ pub  fn  mkfifo < P :  AsRef < Path > > ( path :  P ,  permissions :  Permissions )  -> io:: Result < ( ) >  { 
1134+     sys:: fs:: mkfifo ( path. as_ref ( ) ,  permissions. mode ( ) ) 
1135+ } 
0 commit comments