<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Jan 10, 2016 at 10:31 AM, Jeff Frontz <span dir="ltr">&lt;<a href="mailto:jeff.frontz@gmail.com" target="_blank">jeff.frontz@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="gmail_quote">On Sat, Jan 9, 2016 at 11:13 PM, William E. T. <span dir="ltr">&lt;<a href="mailto:linux.hacker@gmail.com" target="_blank">linux.hacker@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div>1.   Opens a new file</div><div>2.  Writes to the file</div><div>3.  Closes the file</div><div>4.  Creates a link to its real name</div><div>5.  Removes the original file</div><div>6.  stats the file to find a zero size</div></blockquote></div></blockquote></div><br>Thinking about this some more-- you could add a busy-wait loop as step 2.5: call fstat() on the open file descriptor and then repeatedly call stat() on the filename (maybe with a call to sched_yield() thrown in) until the sizes returned are equal.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Jeff</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div></div>