Compare commits

...

2 Commits

Author SHA1 Message Date
Přemysl Eric Janouch ef24d7980c
hswg: improve inotify processing
Make sure to read the whole record before checking flags.
2021-07-06 01:15:44 +02:00
Přemysl Eric Janouch 6228693b22
Update .gitignore 2021-06-30 06:24:59 +02:00
2 changed files with 10 additions and 7 deletions

1
.gitignore vendored
View File

@ -2,6 +2,7 @@
/hid/hid
/hnc/hnc
/hpcu/hpcu
/hswg/hswg
/ht/ht
/prototypes/tls-autodetect
/prototypes/xgb-draw

View File

@ -334,6 +334,15 @@ func dispatchEvents(dirname string, r io.Reader, ch chan<- *watchEvent) error {
return err
}
base := make([]byte, e.Len)
if e.Len != 0 {
if n, err := r.Read(base); err != nil {
return err
} else if n < int(e.Len) {
return fmt.Errorf("short read")
}
}
switch {
case e.Mask&syscall.IN_IGNORED != 0:
return fmt.Errorf("watch removed by kernel")
@ -345,13 +354,6 @@ func dispatchEvents(dirname string, r io.Reader, ch chan<- *watchEvent) error {
continue
}
base := make([]byte, e.Len)
if n, err := r.Read(base); err != nil {
return err
} else if n < int(e.Len) {
return fmt.Errorf("short read")
}
basename, interesting := string(base[:bytes.IndexByte(base, 0)]), false
for _, glob := range globs {
if matches, _ := filepath.Match(glob, basename); matches {