Linus Torvalds [off-list ref] wrote:
...
I also don't think it's very _pretty_ code, and it violates my personal
coding standards by adding way too deep indentation for the new error
cases. It was already three indents deep (reasonably fine, but that
NOT_BARE test wass already pretty ugly), but now it becomes five
indentation levels deep at its deepest, which is just a sign that things
should be split up.
I too disliked the form of my patch, and said so.
I'd also like to know why it does that fcntl() is done,
In the quoted message, I explained that stdout was already
closed in some cases. The fcntl test avoids the EINVAL you'd
get for closing an already-closed file descriptor.