You may also want to research how to lock the file from read through write. If multiple processes have the opportunity of simultaneous execution, you have a race condition where you can get anything from the correct behavior to missing one of the updates, to corrupting the data in the file.

In this case I don't think you have the possibility of corruption (that scenario can happen more easily on files with larger datasets), but you may miss one of the updates. ProcA starts and reads the counter. ProcB gets control, reads the counter (same value), increments, and writes the counter. ProcA now resumes, increments the (now outdated) counter, and writes it. Your counter is now one less than it should be.

--MidLifeXis


In reply to Re: File reade and recreate by MidLifeXis
in thread File reade and recreate by adriang

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.