Fix vendor package error in Mojave

This commit is contained in:
vsmk98 2018-10-12 12:23:13 +08:00
parent e3dddcafaa
commit e679587e1f
6 changed files with 39 additions and 16 deletions

View File

@ -6,6 +6,7 @@ package notify
import (
"errors"
"fmt"
"io/ioutil"
"os"
"path/filepath"
@ -70,11 +71,7 @@ Traverse:
case errSkip:
continue Traverse
default:
return &os.PathError{
Op: "error while traversing",
Path: nd.Name,
Err: err,
}
return fmt.Errorf("error while traversing %q: %v", nd.Name, err)
}
// TODO(rjeczalik): tolerate open failures - add failed names to
// AddDirError and notify users which names are not added to the tree.

View File

@ -26,9 +26,9 @@ import "C"
import (
"errors"
"os"
"runtime"
"sync"
"sync/atomic"
"time"
"unsafe"
)
@ -48,7 +48,7 @@ var wg sync.WaitGroup // used to wait until the runloop starts
// started and is ready via the wg. It also serves purpose of a dummy source,
// thanks to it the runloop does not return as it also has at least one source
// registered.
var source = C.CFRunLoopSourceCreate(nil, 0, &C.CFRunLoopSourceContext{
var source = C.CFRunLoopSourceCreate(refZero, 0, &C.CFRunLoopSourceContext{
perform: (C.CFRunLoopPerformCallBack)(C.gosource),
})
@ -63,10 +63,6 @@ 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()
@ -77,6 +73,7 @@ func init() {
//export gosource
func gosource(unsafe.Pointer) {
time.Sleep(time.Second)
wg.Done()
}
@ -162,8 +159,8 @@ func (s *stream) Start() error {
return nil
}
wg.Wait()
p := C.CFStringCreateWithCStringNoCopy(nil, C.CString(s.path), C.kCFStringEncodingUTF8, nil)
path := C.CFArrayCreate(nil, (*unsafe.Pointer)(unsafe.Pointer(&p)), 1, nil)
p := C.CFStringCreateWithCStringNoCopy(refZero, C.CString(s.path), C.kCFStringEncodingUTF8, refZero)
path := C.CFArrayCreate(refZero, (*unsafe.Pointer)(unsafe.Pointer(&p)), 1, nil)
ctx := C.FSEventStreamContext{}
ref := C.EventStreamCreate(&ctx, C.uintptr_t(s.info), path, C.FSEventStreamEventId(atomic.LoadUint64(&since)), latency, flags)
if ref == nilstream {

View File

@ -0,0 +1,9 @@
// Copyright (c) 2017 The Notify Authors. All rights reserved.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
// +build darwin,!kqueue,go1.10
package notify
const refZero = 0

View File

@ -0,0 +1,14 @@
// Copyright (c) 2017 The Notify Authors. All rights reserved.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
// +build darwin,!kqueue,cgo,!go1.10
package notify
/*
#include <CoreServices/CoreServices.h>
*/
import "C"
var refZero = (*C.struct___CFAllocator)(nil)

6
vendor/github.com/vendor/vendor.json generated vendored Normal file
View File

@ -0,0 +1,6 @@
{
"comment": "",
"ignore": "test",
"package": [],
"rootPath": "github.com/ethereum/go-ethereum/vendor/github.com"
}

6
vendor/vendor.json vendored
View File

@ -346,10 +346,10 @@
"revisionTime": "2017-08-14T17:01:13Z"
},
{
"checksumSHA1": "28UVHMmHx0iqO0XiJsjx+fwILyI=",
"checksumSHA1": "d2rQHpL6cSf3NQiWJCVoEiJhsOI=",
"path": "github.com/rjeczalik/notify",
"revision": "c31e5f2cb22b3e4ef3f882f413847669bf2652b9",
"revisionTime": "2018-02-03T14:01:15Z"
"revision": "ff2d4d2cedc09db23cc46d3eeb8b402bca6d819d",
"revisionTime": "2017-12-09T07:29:52Z"
},
{
"checksumSHA1": "5uqO4ITTDMklKi3uNaE/D9LQ5nM=",