Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: HEADS-UP - sh fcntl() 3rd arg usage changed



The change the message from Sunday referred to was backed
out (for reasons unrelated to the issue in question in the
HEADS-UP) later on Sunday, so there would have been no change
to anything after that.

But the problem that cause that back-out is now fixed, and all
the changes applied again, this time seemingly without issue.

That is, apart from the way sh passes a 3rd arg int to the kernel.
I have a suspicion that this might break on big-endian 64 bit hosts.
It is probably OK on everything else.

The effect if it does break should be relatively mild, some internal
shell file descriptors won't have the values they're intended to
have, which might make some things less efficient (unnoticeably I
would expect) but otherwise be invisible.   And some operations
might not work - which includes some times when close-on-exec is
set (some of those might not work - because if things don't work
the way I think they possibly might not, the shell is asking the
kernel not to close on exec, rather than the other way  unrelated
to the recently fixed (rarish) kernel bug).   Similarly, the
fldlags built in command in sh might be unable to set any flags.

I think that should be about it.   But if that happens it is still
broken, and I will switch the shell back to doing things the old way.
(for how fdntl() args are passed only).   Everything should be OK on
32 bit, and on little endian, hosts I believe.

Let me know if you see any issues.

kre



Home | Main Index | Thread Index | Old Index