Files
go-winio/1patches/pipe-handles-helper.patch

24 lines
502 B
Diff

diff --git a/pipe.go b/pipe.go
index 58c68e9..01cabd7 100644
--- a/pipe.go
+++ b/pipe.go
@@ -123,6 +123,18 @@ type win32MessageBytePipe struct {
type pipeAddress string
+// GetPipeHandle returns the underlying handle of a pipe.
+func GetPipeHandle(f net.Conn) windows.Handle {
+ switch v := f.(type) {
+ case *win32MessageBytePipe:
+ return v.handle
+ case *win32Pipe:
+ return v.handle
+ default:
+ return 0
+ }
+}
+
func (f *win32Pipe) LocalAddr() net.Addr {
return pipeAddress(f.path)
}