This specifically has a fix for leaking epoll fd's.
Full diff: https://github.com/fsnotify/fsnotify/commit/1485a34d5d5723fea214f5710708e19a831720e4
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
... | ... |
@@ -101,7 +101,7 @@ github.com/philhofer/fwd bb6d471dc95d4fe11e432687f8b7 |
101 | 101 |
github.com/tinylib/msgp 3b556c64540842d4f82967be066a7f7fffc3adad |
102 | 102 |
|
103 | 103 |
# fsnotify |
104 |
-github.com/fsnotify/fsnotify c2828203cd70a50dcccfb2761f8b1f8ceef9a8e9 # v1.4.7 |
|
104 |
+github.com/fsnotify/fsnotify 1485a34d5d5723fea214f5710708e19a831720e4 # v1.4.7-11-g1485a34 |
|
105 | 105 |
|
106 | 106 |
# awslogs deps |
107 | 107 |
github.com/aws/aws-sdk-go 9ed0c8de252f04ac45a65358377103d5a1aa2d92 # v1.12.66 |
... | ... |
@@ -14,7 +14,7 @@ Cross platform: Windows, Linux, BSD and macOS. |
14 | 14 |
|----------|----------|----------| |
15 | 15 |
|inotify |Linux 2.6.27 or later, Android\*|Supported [![Build Status](https://travis-ci.org/fsnotify/fsnotify.svg?branch=master)](https://travis-ci.org/fsnotify/fsnotify)| |
16 | 16 |
|kqueue |BSD, macOS, iOS\*|Supported [![Build Status](https://travis-ci.org/fsnotify/fsnotify.svg?branch=master)](https://travis-ci.org/fsnotify/fsnotify)| |
17 |
-|ReadDirectoryChangesW|Windows|Supported [![Build status](https://ci.appveyor.com/api/projects/status/ivwjubaih4r0udeh/branch/master?svg=true)](https://ci.appveyor.com/project/NathanYoungman/fsnotify/branch/master)| |
|
17 |
+|ReadDirectoryChangesW|Windows|Supported [![Build Status](https://travis-ci.org/fsnotify/fsnotify.svg?branch=master)](https://travis-ci.org/fsnotify/fsnotify)| |
|
18 | 18 |
|FSEvents |macOS |[Planned](https://github.com/fsnotify/fsnotify/issues/11)| |
19 | 19 |
|FEN |Solaris 11 |[In Progress](https://github.com/fsnotify/fsnotify/issues/12)| |
20 | 20 |
|fanotify |Linux 2.6.37+ | | |
... | ... |
@@ -40,12 +40,12 @@ func newFdPoller(fd int) (*fdPoller, error) { |
40 | 40 |
poller.fd = fd |
41 | 41 |
|
42 | 42 |
// Create epoll fd |
43 |
- poller.epfd, errno = unix.EpollCreate1(0) |
|
43 |
+ poller.epfd, errno = unix.EpollCreate1(unix.EPOLL_CLOEXEC) |
|
44 | 44 |
if poller.epfd == -1 { |
45 | 45 |
return nil, errno |
46 | 46 |
} |
47 | 47 |
// Create pipe; pipe[0] is the read end, pipe[1] the write end. |
48 |
- errno = unix.Pipe2(poller.pipe[:], unix.O_NONBLOCK) |
|
48 |
+ errno = unix.Pipe2(poller.pipe[:], unix.O_NONBLOCK|unix.O_CLOEXEC) |
|
49 | 49 |
if errno != nil { |
50 | 50 |
return nil, errno |
51 | 51 |
} |