in reply to avoiding a race
A simpler, non-locking mechanism would be:
- You receive error 123. You stat for a file named ERROR.123.
- If the file doesn't exist you create it (empty), and move on.
- If the file does exist, you check the time stamp.
- If it is older than 1 hour: you delete the file; send an email; then move on.
- If it is less than 1 hour; you just move on.
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.