summaryrefslogtreecommitdiffhomepage
path: root/pkg/fdnotifier
diff options
context:
space:
mode:
authorAndrei Vagin <avagin@google.com>2019-05-15 14:57:32 -0700
committerShentubot <shentubot@google.com>2019-05-15 14:58:40 -0700
commit3abee2ecb929d8f16a8febabb482dd6e8ed8e768 (patch)
treeb9c96774ea5739fa525159defe7968e071ff6309 /pkg/fdnotifier
parentecb0f00e10017e82698c326b4d83294c9e20dfbd (diff)
Automated rollback of changelist 247964961
PiperOrigin-RevId: 248411456 Change-Id: I21c3767b0b7e5948536d4c0b78be46ba35cf76cb
Diffstat (limited to 'pkg/fdnotifier')
-rw-r--r--pkg/fdnotifier/fdnotifier.go30
-rw-r--r--pkg/fdnotifier/poll_unsafe.go25
2 files changed, 2 insertions, 53 deletions
diff --git a/pkg/fdnotifier/fdnotifier.go b/pkg/fdnotifier/fdnotifier.go
index 731fa4dad..f0b028b0b 100644
--- a/pkg/fdnotifier/fdnotifier.go
+++ b/pkg/fdnotifier/fdnotifier.go
@@ -40,10 +40,6 @@ type notifier struct {
// notifications.
epFD int
- // eventFD is used to restart epoll_wait in waitAndNotify after
- // reconfiguring epFD.
- eventFD int
-
// mu protects fdMap.
mu sync.Mutex
@@ -59,20 +55,9 @@ func newNotifier() (*notifier, error) {
return nil, err
}
- eventFD, err := eventFDCreate()
- if err != nil {
- syscall.Close(epfd)
- return nil, err
- }
-
w := &notifier{
- epFD: epfd,
- eventFD: eventFD,
- fdMap: make(map[int32]*fdInfo),
- }
-
- if err := w.waitFD(int32(w.eventFD), &fdInfo{}, waiter.EventIn); err != nil {
- return nil, err
+ epFD: epfd,
+ fdMap: make(map[int32]*fdInfo),
}
go w.waitAndNotify() // S/R-SAFE: no waiter exists during save / load.
@@ -106,11 +91,6 @@ func (n *notifier) waitFD(fd int32, fi *fdInfo, mask waiter.EventMask) error {
}
}
- // Restart epoll_wait in waitAndNotify.
- if err := eventFDWrite(n.eventFD, 1); err != nil {
- return err
- }
-
return nil
}
@@ -176,12 +156,6 @@ func (n *notifier) waitAndNotify() error {
n.mu.Lock()
for i := 0; i < v; i++ {
- if e[i].Fd == int32(n.eventFD) {
- if _, err := eventFDRead(n.eventFD); err != nil {
- return err
- }
- continue
- }
if fi, ok := n.fdMap[e[i].Fd]; ok {
fi.queue.Notify(waiter.EventMaskFromLinux(e[i].Events))
}
diff --git a/pkg/fdnotifier/poll_unsafe.go b/pkg/fdnotifier/poll_unsafe.go
index 882e9010d..bc5e0ac44 100644
--- a/pkg/fdnotifier/poll_unsafe.go
+++ b/pkg/fdnotifier/poll_unsafe.go
@@ -74,28 +74,3 @@ func epollWait(epfd int, events []syscall.EpollEvent, msec int) (int, error) {
}
return int(r), nil
}
-
-func eventFDCreate() (int, error) {
- eventFD, _, err := syscall.RawSyscall(syscall.SYS_EVENTFD2, 0, 0, 0)
- if err != 0 {
- return -1, err
- }
- return int(eventFD), nil
-}
-
-func eventFDWrite(eventFD int, v uint64) error {
- if _, _, err := syscall.RawSyscall(syscall.SYS_WRITE, uintptr(eventFD), uintptr(unsafe.Pointer(&v)), 8); err != 0 {
- return err
- }
-
- return nil
-}
-
-func eventFDRead(eventFD int) (uint64, error) {
- var v uint64
- if _, _, err := syscall.RawSyscall(syscall.SYS_READ, uintptr(eventFD), uintptr(unsafe.Pointer(&v)), 8); err != 0 {
- return 0, err
- }
-
- return v, nil
-}