Monitors work in progress
parent
ff46bfaa96
commit
4af765629a
|
@ -14,7 +14,7 @@ TUPLE: buffer size ptr fill pos ;
|
||||||
dup buffer-ptr free f swap set-buffer-ptr ;
|
dup buffer-ptr free f swap set-buffer-ptr ;
|
||||||
|
|
||||||
: buffer-reset ( n buffer -- )
|
: buffer-reset ( n buffer -- )
|
||||||
[ set-buffer-fill ] keep 0 swap set-buffer-pos ;
|
0 swap { set-buffer-fill set-buffer-pos } set-slots ;
|
||||||
|
|
||||||
: buffer-consume ( n buffer -- )
|
: buffer-consume ( n buffer -- )
|
||||||
[ buffer-pos + ] keep
|
[ buffer-pos + ] keep
|
||||||
|
|
|
@ -20,7 +20,7 @@ TUPLE: monitor queue closed? ;
|
||||||
HOOK: fill-queue io-backend ( monitor -- assoc )
|
HOOK: fill-queue io-backend ( monitor -- assoc )
|
||||||
|
|
||||||
: changed-file ( changed path -- )
|
: changed-file ( changed path -- )
|
||||||
namespace [ swap add ] change-at ;
|
namespace [ append ] change-at ;
|
||||||
|
|
||||||
: dequeue-change ( assoc -- path changes )
|
: dequeue-change ( assoc -- path changes )
|
||||||
delete-any prune natural-sort >array ;
|
delete-any prune natural-sort >array ;
|
||||||
|
|
|
@ -70,7 +70,8 @@ M: windows-nt-io <monitor> ( path recursive? -- monitor )
|
||||||
FILE_NOTIFY_INFORMATION-FileName
|
FILE_NOTIFY_INFORMATION-FileName
|
||||||
FILE_NOTIFY_INFORMATION-FileNameLength
|
FILE_NOTIFY_INFORMATION-FileNameLength
|
||||||
FILE_NOTIFY_INFORMATION-Action
|
FILE_NOTIFY_INFORMATION-Action
|
||||||
} get-slots >r memory>u16-string path+ r> parse-action swap ;
|
} get-slots parse-action 1array -rot
|
||||||
|
memory>u16-string path+ ;
|
||||||
|
|
||||||
: (changed-files) ( directory buffer -- )
|
: (changed-files) ( directory buffer -- )
|
||||||
2dup parse-file-notify changed-file
|
2dup parse-file-notify changed-file
|
||||||
|
|
Loading…
Reference in New Issue