The real solution would be
- mknod $$.lock
- open $$.lock,"rw"
- (hard)link $$.lock nach reallock
Now two possible outcomes:
- Can link:
- (re)open reallock,">"
- (if error begin anew)
- close $$.lock
- unlink $$.lock
- You Can Work Now
- Can't link:
- open reallock,"rw"
- reopen reallock,"<"
- close reallock(rw)
- read from reallock(<)
- on eof unlink reallock
- close reallock(<)
- begin anew