Mv os-specific trait impl of Pipe* into std::os::* · rust-lang/rust@6863a99 (original) (raw)

1

``

`-

use crate::io::{self, PipeReader, PipeWriter};

`

2

``

`-

use crate::os::fd::{AsFd, AsRawFd, BorrowedFd, FromRawFd, IntoRawFd, OwnedFd, RawFd};

`

3

``

`-

use crate::process::Stdio;

`

``

1

`+

use crate::io;

`

4

2

`use crate::sys::fd::FileDesc;

`

5

3

`use crate::sys::pipe::anon_pipe;

`

6

``

`-

use crate::sys_common::{FromInner, IntoInner};

`

``

4

`+

use crate::sys_common::IntoInner;

`

7

5

``

8

6

`pub type AnonPipe = FileDesc;

`

9

7

``

10

8

`#[inline]

`

11

9

`pub fn pipe() -> io::Result<(AnonPipe, AnonPipe)> {

`

12

10

`anon_pipe().map(|(rx, wx)| (rx.into_inner(), wx.into_inner()))

`

13

11

`}

`

14

``

-

15

``

`-

#[stable(feature = "anonymous_pipe", since = "CURRENT_RUSTC_VERSION")]

`

16

``

`-

impl AsFd for PipeReader {

`

17

``

`-

fn as_fd(&self) -> BorrowedFd<'_> {

`

18

``

`-

self.0.as_fd()

`

19

``

`-

}

`

20

``

`-

}

`

21

``

`-

#[stable(feature = "anonymous_pipe", since = "CURRENT_RUSTC_VERSION")]

`

22

``

`-

impl AsRawFd for PipeReader {

`

23

``

`-

fn as_raw_fd(&self) -> RawFd {

`

24

``

`-

self.0.as_raw_fd()

`

25

``

`-

}

`

26

``

`-

}

`

27

``

`-

#[stable(feature = "anonymous_pipe", since = "CURRENT_RUSTC_VERSION")]

`

28

``

`-

impl From for OwnedFd {

`

29

``

`-

fn from(pipe: PipeReader) -> Self {

`

30

``

`-

FileDesc::into_inner(pipe.0)

`

31

``

`-

}

`

32

``

`-

}

`

33

``

`-

#[stable(feature = "anonymous_pipe", since = "CURRENT_RUSTC_VERSION")]

`

34

``

`-

impl FromRawFd for PipeReader {

`

35

``

`-

unsafe fn from_raw_fd(raw_fd: RawFd) -> Self {

`

36

``

`-

unsafe { Self(FileDesc::from_raw_fd(raw_fd)) }

`

37

``

`-

}

`

38

``

`-

}

`

39

``

`-

#[stable(feature = "anonymous_pipe", since = "CURRENT_RUSTC_VERSION")]

`

40

``

`-

impl IntoRawFd for PipeReader {

`

41

``

`-

fn into_raw_fd(self) -> RawFd {

`

42

``

`-

self.0.into_raw_fd()

`

43

``

`-

}

`

44

``

`-

}

`

45

``

`-

#[stable(feature = "anonymous_pipe", since = "CURRENT_RUSTC_VERSION")]

`

46

``

`-

impl From for Stdio {

`

47

``

`-

fn from(pipe: PipeReader) -> Self {

`

48

``

`-

Self::from(OwnedFd::from(pipe))

`

49

``

`-

}

`

50

``

`-

}

`

51

``

-

52

``

`-

#[stable(feature = "anonymous_pipe", since = "CURRENT_RUSTC_VERSION")]

`

53

``

`-

impl AsFd for PipeWriter {

`

54

``

`-

fn as_fd(&self) -> BorrowedFd<'_> {

`

55

``

`-

self.0.as_fd()

`

56

``

`-

}

`

57

``

`-

}

`

58

``

`-

#[stable(feature = "anonymous_pipe", since = "CURRENT_RUSTC_VERSION")]

`

59

``

`-

impl AsRawFd for PipeWriter {

`

60

``

`-

fn as_raw_fd(&self) -> RawFd {

`

61

``

`-

self.0.as_raw_fd()

`

62

``

`-

}

`

63

``

`-

}

`

64

``

`-

#[stable(feature = "anonymous_pipe", since = "CURRENT_RUSTC_VERSION")]

`

65

``

`-

impl From for OwnedFd {

`

66

``

`-

fn from(pipe: PipeWriter) -> Self {

`

67

``

`-

FileDesc::into_inner(pipe.0)

`

68

``

`-

}

`

69

``

`-

}

`

70

``

`-

#[stable(feature = "anonymous_pipe", since = "CURRENT_RUSTC_VERSION")]

`

71

``

`-

impl FromRawFd for PipeWriter {

`

72

``

`-

unsafe fn from_raw_fd(raw_fd: RawFd) -> Self {

`

73

``

`-

unsafe { Self(FileDesc::from_raw_fd(raw_fd)) }

`

74

``

`-

}

`

75

``

`-

}

`

76

``

`-

#[stable(feature = "anonymous_pipe", since = "CURRENT_RUSTC_VERSION")]

`

77

``

`-

impl IntoRawFd for PipeWriter {

`

78

``

`-

fn into_raw_fd(self) -> RawFd {

`

79

``

`-

self.0.into_raw_fd()

`

80

``

`-

}

`

81

``

`-

}

`

82

``

`-

#[stable(feature = "anonymous_pipe", since = "CURRENT_RUSTC_VERSION")]

`

83

``

`-

impl From for Stdio {

`

84

``

`-

fn from(pipe: PipeWriter) -> Self {

`

85

``

`-

Self::from(OwnedFd::from(pipe))

`

86

``

`-

}

`

87

``

`-

}

`

88

``

-

89

``

`-

#[stable(feature = "anonymous_pipe", since = "CURRENT_RUSTC_VERSION")]

`

90

``

`-

impl From for PipeReader {

`

91

``

`-

fn from(owned_fd: OwnedFd) -> Self {

`

92

``

`-

Self(FileDesc::from_inner(owned_fd))

`

93

``

`-

}

`

94

``

`-

}

`

95

``

-

96

``

`-

#[stable(feature = "anonymous_pipe", since = "CURRENT_RUSTC_VERSION")]

`

97

``

`-

impl From for PipeWriter {

`

98

``

`-

fn from(owned_fd: OwnedFd) -> Self {

`

99

``

`-

Self(FileDesc::from_inner(owned_fd))

`

100

``

`-

}

`

101

``

`-

}

`