straightforward:
> (with-inotify (inotify T ("." :all-events))
- > (loop (format T "~{~A~%~}" (next-events inotify))))
+ > (do-events (event inotify :blocking-p T)
+ > (format T "~A~%" event)))
> =>
> #S(CL-INOTIFY::INOTIFY-EVENT :WD 1 :MASK (CREATE) :COOKIE 0 :NAME .zshist.LOCK)
> #S(CL-INOTIFY::INOTIFY-EVENT :WD 1 :MASK (OPEN) :COOKIE 0 :NAME .zshist)
fd-streams everywhere, or skip them entirely)
- (maybe) don't use the libc for this, direct syscall
- (maybe) add iolib replacement for io functions
+- the nonblocking mode is pretty useless, because for one the READ
+ functions still block and also LISTEN seems to work just fine and it's
+ not even needed for multiplexing, so why keep this in?
[1]: https://github.com/Ferada/binary-types
[2]: http://www.cliki.net/Binary-types