Shareable writing into file (458 Views)
Posts: 19
Registered: ‎09-26-2013
Message 1 of 3 (458 Views)
Accepted Solution

Shareable writing into file


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

 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?

Posts: 19
Registered: ‎09-26-2013
Message 2 of 3 (454 Views)

Re: Shareable writing into file

I've got some hurry with it. I've found the post with linked issue.

If the problem and the solution is identical I'll delete this one.

Posts: 19
Registered: ‎09-26-2013
Message 3 of 3 (435 Views)

Re: Shareable writing into file


 logFile = open(stampedPath.ptr, O_WRONLY | O_APPEND | O_CREAT, 0666
#ifdef VAX
                 ,"shr = del, get, put, upd", "ctx = stm", "ctx = bin"

The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the Terms of Use and Rules of Participation.