How do I create a fileWatcher with an onFileChange event using spawn?

Jacob Carlborg via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sun Aug 27 23:27:20 PDT 2017


On 2017-08-25 23:25, Enjoys Math wrote:
> 
> 
> Something like this:
> 
> 
> module file_watcher;
> 
> import std.concurrency;
> import std.file;
> import std.signals;
> import std.datetime;
> 
> 
> void fileWatcher(Tid tid, string filename, int loopSleep) {
>      auto modified0 = timeLastModified(filename);
> 
>      while (true) {
>          modified = timeLastModified(filename);
> 
>          if (modified > modified0) {
>              modified0 = modified;
>              //if (onFileChange !is null)
>              //    onFileChange(receiver);
>          }
> 
>          sleep(dur!"msecs"(loopSleep));
>      }
> }
> 
> 
> But I'm not sure how to send the onFiledChange event.

A delegate perhaps?

Or you can look at any of the existing event driven libraries that do this:

http://code.dlang.org/packages/vibe-core
http://code.dlang.org/packages/libasync

-- 
/Jacob Carlborg


More information about the Digitalmars-d-learn mailing list