Skip to content

Commit e2ad774

Browse files
committed
Revert "opt: reduce atomic operations for asynchronous task queues in pollers"
This reverts commit 90bea0e.
1 parent b220dfd commit e2ad774

File tree

4 files changed

+4
-8
lines changed

4 files changed

+4
-8
lines changed

internal/netpoll/epoll_default_poller.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,11 +178,10 @@ func (p *Poller) Polling(callback func(fd int, ev uint32) error) error {
178178
}
179179
queue.PutTask(task)
180180
}
181+
atomic.StoreInt32(&p.netpollWakeSig, 0)
181182
if !p.asyncTaskQueue.Empty() || !p.priorAsyncTaskQueue.Empty() {
182183
for _, err = unix.Write(p.wfd, b); err == unix.EINTR || err == unix.EAGAIN; _, err = unix.Write(p.wfd, b) {
183184
}
184-
} else {
185-
atomic.StoreInt32(&p.netpollWakeSig, 0)
186185
}
187186
}
188187

internal/netpoll/epoll_optimized_poller.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -180,11 +180,10 @@ func (p *Poller) Polling() error {
180180
}
181181
queue.PutTask(task)
182182
}
183+
atomic.StoreInt32(&p.netpollWakeSig, 0)
183184
if !p.asyncTaskQueue.Empty() || !p.priorAsyncTaskQueue.Empty() {
184185
for _, err = unix.Write(p.wpa.FD, b); err == unix.EINTR || err == unix.EAGAIN; _, err = unix.Write(p.wpa.FD, b) {
185186
}
186-
} else {
187-
atomic.StoreInt32(&p.netpollWakeSig, 0)
188187
}
189188
}
190189

internal/netpoll/kqueue_default_poller.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,11 +176,10 @@ func (p *Poller) Polling(callback func(fd int, filter int16) error) error {
176176
}
177177
queue.PutTask(task)
178178
}
179+
atomic.StoreInt32(&p.netpollWakeSig, 0)
179180
if !p.asyncTaskQueue.Empty() || !p.priorAsyncTaskQueue.Empty() {
180181
for _, err = unix.Kevent(p.fd, wakeChanges, nil, nil); err == unix.EINTR || err == unix.EAGAIN; _, err = unix.Kevent(p.fd, wakeChanges, nil, nil) {
181182
}
182-
} else {
183-
atomic.StoreInt32(&p.netpollWakeSig, 0)
184183
}
185184
}
186185

internal/netpoll/kqueue_optimized_poller.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,11 +177,10 @@ func (p *Poller) Polling() error {
177177
}
178178
queue.PutTask(task)
179179
}
180+
atomic.StoreInt32(&p.netpollWakeSig, 0)
180181
if !p.asyncTaskQueue.Empty() || !p.priorAsyncTaskQueue.Empty() {
181182
for _, err = unix.Kevent(p.fd, wakeChanges, nil, nil); err == unix.EINTR || err == unix.EAGAIN; _, err = unix.Kevent(p.fd, wakeChanges, nil, nil) {
182183
}
183-
} else {
184-
atomic.StoreInt32(&p.netpollWakeSig, 0)
185184
}
186185
}
187186

0 commit comments

Comments
 (0)