Merge pull request #4 from hanwen/master

Make Listen exclusive for a given named pipe.
tree: dd6b7208df27a9f0cab122b3a56f77093a11709b
  1. .gitignore
  2. .travis.yml
  3. LICENSE.txt
  5. example_windows_test.go
  6. npipe_windows.go
  7. npipe_windows_test.go
  8. znpipe_windows_386.go
  9. znpipe_windows_amd64.go


A Windows named pipe implementation written in pure Go.

Documentation at

Windows Pipe documentation at

Written for Go 1.1.


  • Deadlines for reading/writing to the connection are only functional in Windows Vista/Server 2008 and above, due to limitations with the Windows API.
  • The pipes support byte mode only (no support for message mode)

How to Build

go get

If you need to add or change the syscalls that have been defined in npipe_windows.go, you'll need to regenerate the z files by running:

$gosource/src/pkg/syscall/ npipe_windows.go > znpipe_windows_amd64.go $gosource/src/pkg/syscall/ -l32 npipe_windows.go > znpipe_windows_386.go