That's not really a race, just a condition not covered. On Wed, Feb 8, 2012 at 3:08 PM, Matt <[email protected]> wrote:
> There's a race between when you get the results from stat and re-open the > file. You know it's changed, you assume it has grown, so you re-open at > "last-byte-read" position. But what if between that time, the file got > truncated to zero, meaning you need to read from the start of the file? > > On Wed, Feb 8, 2012 at 4:36 PM, Adam Pritchard > <[email protected]>wrote: > >> Can you elaborate? I'm pretty new to JS/Node, so maybe I'm not seeing it. >> >> I recognize that the file reading isn't one-to-one with the notifications >> (i.e., many rapid file modifications will probably be processed in a single >> file read, and then following notifications won't have an effect until the >> file grows again), but I don't see that that's a problem -- the data should >> still get processed in a timely fashion. >> >> On the other hand... my tests aren't running through successfully on two >> of three OSes, so there's certainly something not right... >> >> I'd appreciate any bugs or flaws you can point out. >> >> Adam >> >> >> On Wed, Feb 8, 2012 at 11:40 AM, Matt <[email protected]> wrote: >> >>> Still has a race condition in it. >>> >>> >>> On Tue, Feb 7, 2012 at 8:20 PM, Adam Pritchard <[email protected] >>> > wrote: >>> >>>> I've also been working on a little log-file-following (tail -f) node >>>> module. >>>> >>>> https://github.com/adam-p/text-file-follower/blob/master/lib/index.coffee >>>> >>>> I need it to work on Windows, so it's cross-platform. It works okay >>>> already, but I still have some stuff to do. >>>> >>>> The behaviour of fs.watch is a bit sketchy. For example... >>>> https://github.com/joyent/node/issues/search?q=fs.watch&state=open >>>> >>>> If I didn't need/want to support Windows I'd probably use fs.watchFile. >>>> >>>> -- >>>> Job Board: http://jobs.nodejs.org/ >>>> Posting guidelines: >>>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines >>>> You received this message because you are subscribed to the Google >>>> Groups "nodejs" group. >>>> To post to this group, send email to [email protected] >>>> To unsubscribe from this group, send email to >>>> [email protected] >>>> For more options, visit this group at >>>> http://groups.google.com/group/nodejs?hl=en?hl=en >>>> >>> >>> -- >>> Job Board: http://jobs.nodejs.org/ >>> Posting guidelines: >>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines >>> You received this message because you are subscribed to the Google >>> Groups "nodejs" group. >>> To post to this group, send email to [email protected] >>> To unsubscribe from this group, send email to >>> [email protected] >>> For more options, visit this group at >>> http://groups.google.com/group/nodejs?hl=en?hl=en >>> >> >> -- >> Job Board: http://jobs.nodejs.org/ >> Posting guidelines: >> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines >> You received this message because you are subscribed to the Google >> Groups "nodejs" group. >> To post to this group, send email to [email protected] >> To unsubscribe from this group, send email to >> [email protected] >> For more options, visit this group at >> http://groups.google.com/group/nodejs?hl=en?hl=en >> > > -- > Job Board: http://jobs.nodejs.org/ > Posting guidelines: > https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines > You received this message because you are subscribed to the Google > Groups "nodejs" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/nodejs?hl=en?hl=en > -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en
