Tobias Stoeckmann wrote:
For me, it sounds like configure should run a functionality test, calling fchmodat with AT_SYMLINK_NOFOLLOW and see if it fails and ENOTSUP is set in errno. In that case, don't call fchmodat or force 0 for flags, otherwise use AT_SYMLINK_NOFOLLOW.
Yes, that sounds like a reasonable way to move forward. At least, that is what I was thinking of doing in 2012. I never got around to it, partly because (although it's an improvement) it's not a complete fix for the race.