Monitors work in progress

db4
Slava Pestov 2008-02-02 18:14:26 -06:00
parent ff46bfaa96
commit 4af765629a
3 changed files with 4 additions and 3 deletions

View File

@ -14,7 +14,7 @@ TUPLE: buffer size ptr fill pos ;
dup buffer-ptr free f swap set-buffer-ptr ;
: 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-pos + ] keep

View File

@ -20,7 +20,7 @@ TUPLE: monitor queue closed? ;
HOOK: fill-queue io-backend ( monitor -- assoc )
: changed-file ( changed path -- )
namespace [ swap add ] change-at ;
namespace [ append ] change-at ;
: dequeue-change ( assoc -- path changes )
delete-any prune natural-sort >array ;

View File

@ -70,7 +70,8 @@ M: windows-nt-io <monitor> ( path recursive? -- monitor )
FILE_NOTIFY_INFORMATION-FileName
FILE_NOTIFY_INFORMATION-FileNameLength
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 -- )
2dup parse-file-notify changed-file