11use std:: { io, mem:: ManuallyDrop } ;
22
33use compio_buf:: { BufResult , IoBuf , IoBufMut } ;
4- use compio_driver:: { AsRawFd , FromRawFd , RawFd } ;
4+ use compio_driver:: { FromRawFd , RawFd } ;
55use compio_io:: { AsyncRead , AsyncWrite } ;
66use compio_runtime:: TryAsRawFd ;
77
@@ -14,8 +14,9 @@ pub struct Stdin(ManuallyDrop<Receiver>);
1414
1515impl Stdin {
1616 pub ( crate ) fn new ( ) -> Self {
17+ // SAFETY: we don't drop it
1718 Self ( ManuallyDrop :: new ( unsafe {
18- Receiver :: from_raw_fd ( io :: stdin ( ) . as_raw_fd ( ) )
19+ Receiver :: from_raw_fd ( libc :: STDIN_FILENO )
1920 } ) )
2021 }
2122}
@@ -43,8 +44,9 @@ pub struct Stdout(ManuallyDrop<Sender>);
4344
4445impl Stdout {
4546 pub ( crate ) fn new ( ) -> Self {
47+ // SAFETY: we don't drop it
4648 Self ( ManuallyDrop :: new ( unsafe {
47- Sender :: from_raw_fd ( io :: stdout ( ) . as_raw_fd ( ) )
49+ Sender :: from_raw_fd ( libc :: STDOUT_FILENO )
4850 } ) )
4951 }
5052}
@@ -80,8 +82,9 @@ pub struct Stderr(ManuallyDrop<Sender>);
8082
8183impl Stderr {
8284 pub ( crate ) fn new ( ) -> Self {
85+ // SAFETY: we don't drop it
8386 Self ( ManuallyDrop :: new ( unsafe {
84- Sender :: from_raw_fd ( io :: stderr ( ) . as_raw_fd ( ) )
87+ Sender :: from_raw_fd ( libc :: STDERR_FILENO )
8588 } ) )
8689 }
8790}
0 commit comments