diff --git a/vendor/github.com/rjeczalik/notify/watcher_fsevents_cgo.go b/vendor/github.com/rjeczalik/notify/watcher_fsevents_cgo.go index fb70de6af031d8a5d59defecc7af5e0a3eb75b71..2248a1b1299d7a16174556b70d7c22e64092f162 100644 --- a/vendor/github.com/rjeczalik/notify/watcher_fsevents_cgo.go +++ b/vendor/github.com/rjeczalik/notify/watcher_fsevents_cgo.go @@ -26,9 +26,9 @@ import "C" import ( "errors" "os" + "runtime" "sync" "sync/atomic" - "time" "unsafe" ) @@ -63,6 +63,10 @@ var ( func init() { wg.Add(1) go func() { + // There is exactly one run loop per thread. Lock this goroutine to its + // thread to ensure that it's not rescheduled on a different thread while + // setting up the run loop. + runtime.LockOSThread() runloop = C.CFRunLoopGetCurrent() C.CFRunLoopAddSource(runloop, source, C.kCFRunLoopDefaultMode) C.CFRunLoopRun() @@ -73,7 +77,6 @@ func init() { //export gosource func gosource(unsafe.Pointer) { - time.Sleep(time.Second) wg.Done() } diff --git a/vendor/vendor.json b/vendor/vendor.json index 17844bd8ddef5865a45a87f589031214686952f1..979e8b34b61605a1a1328a30e565f6ee8b086667 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -286,10 +286,10 @@ "revisionTime": "2016-11-28T21:05:44Z" }, { - "checksumSHA1": "tnQdt7bxmueZFl0EPrW9YrWiqGg=", + "checksumSHA1": "1ESHllhZOIBg7MnlGHUdhz047bI=", "path": "github.com/rjeczalik/notify", - "revision": "e1801ee34d54c4bf45126ef51fe9750b4e42bee8", - "revisionTime": "2017-12-10T15:45:11Z" + "revision": "27b537f07230b3f917421af6dcf044038dbe57e2", + "revisionTime": "2018-01-03T13:19:05Z" }, { "checksumSHA1": "5uqO4ITTDMklKi3uNaE/D9LQ5nM=",