in reply to Re^2: Populating A Hash
in thread Populating A Hash

No, flock after opening is correct I belive. You might be thinking of the common error of opening a file in ">" mode, which O_TRUNCates the file, thus changing it before you had a chance to flock it.

Replies are listed 'Best First'.
Re^4: Populating A Hash
by dragonchild (Archbishop) on Mar 02, 2005 at 13:34 UTC
    I could have sworn that there was still a race condition if you open the file for reading, then the OS pre-empts you and hands control to a process that opens it for writing, writes a bunch, then you get handed back the file and attempt to flock it.

    I'm too tired to look it up right now, but I thought I read (years back) about a way to atomically open and lock the file descriptor at the same time. The Camel is only talking about sysopen(), which still requires a separate flock().

    Being right, does not endow the right to be rude; politeness costs nothing.
    Being unknowing, is not the same as being stupid.
    Expressing a contrary opinion, whether to the individual or the group, is more often a sign of deeper thought than of cantankerous belligerence.
    Do not mistake your goals as the only goals; your opinion as the only opinion; your confidence as correctness. Saying you know better is not the same as explaining you know better.