Try to fix inotify again
parent
7cd21081af
commit
93ebbfb7e4
|
@ -24,8 +24,10 @@ TUPLE: inotify watches ;
|
||||||
|
|
||||||
: <inotify> ( -- port/f )
|
: <inotify> ( -- port/f )
|
||||||
H{ } clone
|
H{ } clone
|
||||||
inotify_init [ io-error ] [ inotify <buffered-port> ] bi
|
inotify_init dup 0 < [ 2drop f ] [
|
||||||
{ set-inotify-watches set-delegate } inotify construct ;
|
inotify <buffered-port>
|
||||||
|
{ set-inotify-watches set-delegate } inotify construct
|
||||||
|
] if ;
|
||||||
|
|
||||||
: inotify-fd inotify get-global handle>> ;
|
: inotify-fd inotify get-global handle>> ;
|
||||||
|
|
||||||
|
@ -109,9 +111,12 @@ TUPLE: inotify-task ;
|
||||||
f inotify-task <input-task> ;
|
f inotify-task <input-task> ;
|
||||||
|
|
||||||
: init-inotify ( mx -- )
|
: init-inotify ( mx -- )
|
||||||
<inotify>
|
<inotify> dup [
|
||||||
dup inotify set-global
|
dup inotify set-global
|
||||||
<inotify-task> swap register-io-task ;
|
<inotify-task> swap register-io-task
|
||||||
|
] [
|
||||||
|
2drop
|
||||||
|
] if ;
|
||||||
|
|
||||||
M: inotify-task do-io-task ( task -- )
|
M: inotify-task do-io-task ( task -- )
|
||||||
io-task-port read-notifications f ;
|
io-task-port read-notifications f ;
|
||||||
|
@ -119,7 +124,7 @@ M: inotify-task do-io-task ( task -- )
|
||||||
M: linux-io init-io ( -- )
|
M: linux-io init-io ( -- )
|
||||||
<select-mx>
|
<select-mx>
|
||||||
[ mx set-global ]
|
[ mx set-global ]
|
||||||
[ [ init-inotify ] curry ignore-errors ] bi ;
|
[ init-inotify ] bi ;
|
||||||
|
|
||||||
T{ linux-io } set-io-backend
|
T{ linux-io } set-io-backend
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue