1
0

To decrease nesting go directive was removed.

This commit is contained in:
Alexander Andreev 2023-05-26 17:21:13 +04:00
parent 51494e87be
commit da001dbe39
Signed by: Arav
GPG Key ID: D22A817D95815393

View File

@ -54,26 +54,24 @@ func (w *InotifyWatcher) AddWatch(path string, mask uint32) error {
// WatchForMask checks for events specified in `mask` and sends them // WatchForMask checks for events specified in `mask` and sends them
// to channel `fired`. See `man inotify` for events. // to channel `fired`. See `man inotify` for events.
func (w *InotifyWatcher) WatchForMask(fired chan uint32, mask uint32) { func (w *InotifyWatcher) WatchForMask(fired chan uint32, mask uint32) {
go func() { for !w.closed {
for !w.closed { buffer := make([]byte, syscall.SizeofInotifyEvent*inotifyCount)
buffer := make([]byte, syscall.SizeofInotifyEvent*inotifyCount) n, err := syscall.Read(w.fd, buffer)
n, err := syscall.Read(w.fd, buffer) if err != nil {
if err != nil { break
break }
}
if n < syscall.SizeofInotifyEvent { if n < syscall.SizeofInotifyEvent {
continue continue
} }
for offset := 0; offset < len(buffer); offset += syscall.SizeofInotifyEvent { for offset := 0; offset < len(buffer); offset += syscall.SizeofInotifyEvent {
event := (*syscall.InotifyEvent)(unsafe.Pointer(&buffer[offset])) event := (*syscall.InotifyEvent)(unsafe.Pointer(&buffer[offset]))
if event.Mask&mask > 0 { if event.Mask&mask > 0 {
fired <- event.Mask fired <- event.Mask
}
} }
} }
}() }
} }
// Close removes all watchers, closes inotify descriptor and stops all // Close removes all watchers, closes inotify descriptor and stops all