From ce8475a0b92536364b07964a4f23a0166e152ef2 Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Thu, 12 Oct 2023 16:13:26 -0500 Subject: [PATCH] Revert "app: [Wayland] avoid a race on the send side of the wakeup pipe" This reverts commit 7fde80e8050b25df4f0592c0b8d8e25b66b4645d, because Wakeup can no longer be called after the window has been destroyed. Signed-off-by: Elias Naur --- app/os_wayland.go | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/app/os_wayland.go b/app/os_wayland.go index 119a1ae0..e3750526 100644 --- a/app/os_wayland.go +++ b/app/os_wayland.go @@ -94,10 +94,7 @@ type wlDisplay struct { // Notification pipe fds. notify struct { - read int - - mu sync.Mutex - write int + read, write int } repeat repeatState @@ -1445,11 +1442,6 @@ func (w *window) SetAnimating(anim bool) { // Wakeup wakes up the event loop through the notification pipe. func (d *wlDisplay) wakeup() { oneByte := make([]byte, 1) - d.notify.mu.Lock() - defer d.notify.mu.Unlock() - if d.notify.write == 0 { - return - } if _, err := syscall.Write(d.notify.write, oneByte); err != nil && err != syscall.EAGAIN { panic(fmt.Errorf("failed to write to pipe: %v", err)) } @@ -1828,12 +1820,10 @@ func newWLDisplay() (*wlDisplay, error) { } func (d *wlDisplay) destroy() { - d.notify.mu.Lock() if d.notify.write != 0 { syscall.Close(d.notify.write) d.notify.write = 0 } - d.notify.mu.Unlock() if d.notify.read != 0 { syscall.Close(d.notify.read) d.notify.read = 0