10-01-2013 11:22 PM
I need to write in a log file from several processes.
I am using the next solution:
int logFile; logFile = open(stampedPath.ptr, O_WRONLY | O_APPEND | O_CREAT, 0666); write(logFile, buffer.ptr, buffer.len);//to achieve atomic output close(logFile);
In Linux(Red Hat) it works perfectly.
On OpenVMS I've got the next message in the second process: file currently locked by another user.
I've read about fwrite with additional keys from c language extension, but it is queit hard to find out in google full manual for this keys.
- I am not shure that in this case family of printf functions will give atomic output (in Linux they allow for a processes to mix output).
- I dont want to duplicate the code.
Could I resolve this situation with open/write/close using?
Solved! Go to Solution.