@@ -976,43 +976,6 @@ internal typealias PlatformFileDescriptor = HANDLE
976976
977977// MARK: - Pipe Support
978978extension FileDescriptor {
979- internal static func pipe( ) throws -> (
980- readEnd: FileDescriptor ,
981- writeEnd: FileDescriptor
982- ) {
983- var saAttributes : SECURITY_ATTRIBUTES = SECURITY_ATTRIBUTES ( )
984- saAttributes. nLength = DWORD ( MemoryLayout< SECURITY_ATTRIBUTES> . size)
985- saAttributes. bInheritHandle = true
986- saAttributes. lpSecurityDescriptor = nil
987-
988- var readHandle : HANDLE ? = nil
989- var writeHandle : HANDLE ? = nil
990- guard CreatePipe ( & readHandle, & writeHandle, & saAttributes, 0 ) ,
991- readHandle != INVALID_HANDLE_VALUE,
992- writeHandle != INVALID_HANDLE_VALUE,
993- let readHandle: HANDLE = readHandle,
994- let writeHandle: HANDLE = writeHandle
995- else {
996- throw SubprocessError (
997- code: . init( . failedToCreatePipe) ,
998- underlyingError: . init( rawValue: GetLastError ( ) )
999- )
1000- }
1001- let readFd = _open_osfhandle (
1002- intptr_t ( bitPattern: readHandle) ,
1003- FileDescriptor . AccessMode. readOnly. rawValue
1004- )
1005- let writeFd = _open_osfhandle (
1006- intptr_t ( bitPattern: writeHandle) ,
1007- FileDescriptor . AccessMode. writeOnly. rawValue
1008- )
1009-
1010- return (
1011- readEnd: FileDescriptor ( rawValue: readFd) ,
1012- writeEnd: FileDescriptor ( rawValue: writeFd)
1013- )
1014- }
1015-
1016979 var platformDescriptor : PlatformFileDescriptor {
1017980 return HANDLE ( bitPattern: _get_osfhandle ( self . rawValue) ) !
1018981 }
0 commit comments