Created attachment 156144 [details] A patch to add the proposed new option letter to fopen() This is a change proposal. Since FreeBSD already has the open() flags O_SHLOCK and O_EXLOCK it would make sense for the same feature to be also available when calling fopen(). So, I propose adding a new option letter "l" to force fopen() to add the suitable one of these locking flags when calling open(), O_SHLOCK for "r" and O_EXLOCK for "w", "r+", etc. Such an extension is of course non-standard, but when code portability is not a big issue such an extension would make FreeBSD specific code easier to read and write, and maybe also a bit more robust while avoiding the need to go the extra mille passum to call fileno() and flock() later. From my point of view writing something like... fp = fopen("whateverfile", "wb+lex"); ... is a pretty neat idea. Either I get a handle to a completely new file with the exclusive lock applied, and it will not be left open after an exec*() call, or I get a NULL. Obviously the same change applies to 10.1 as well, if the merits of this idea are accepted.
Thanks for the patch. However, this PR didn't get any traction from the developers probably due to the non-standard nature of the change. Closing, but feel free to reopen (no pun intended) if you think it is proper.