2.0 does not follow the symlink for the last node of creat, and its
vital it doesnt.
ln -s /tmp/nosuchfile foofile
./a.out
2.0 -EEXIST
2.1 creates it
touch /tmp/nosuchfile
./a.out
2.0 -EEXIST
2.1 creates it
Test code
#include <stdio.h>
#include <fcntl.h>
int main(int argc,char *argv[])
{
if(open("foofile", O_EXCL|O_CREAT|O_TRUNC, 0600)==-1)
perror("foofile");
return 0;
}
Alan