natknąłem bitowy kod, który mówikiedy nie można otworzyć (2) z errno == EMLINK?
int fd = open(fn, flags, 0);
if (fd < 0 && errno != EMLINK)
...
flags
jest albo O_RDONLY
lub O_RDONLY|O_NOFOLLOW
IEEE 1003.1 2013 (SUSv4) ma tylko
[EMLINK] Too wiele linków. Podjęto próbę, aby liczba linków pojedynczego pliku przekroczyła {LINK_MAX}.
{LINK_MAX} Maksymalna liczba linków do pojedynczego pliku.
W jaki sposób otwarcie pliku zwiększa liczbę linków?
Nie widzę "EMLINK" wymienionego jako jeden z możliwych błędów dla ['open'] (http://pubs.opengroup.org/onlinepubs/9699919799/functions/open.html). Jest on jednak dostępny dla ['link'] (http://pubs.opengroup.org/onlinepubs/9699919799/functions/link.html). –
@Sander, ponieważ przeglądasz strony podręcznika linuxa! –
@NicholasWilson: Nie, to samo dotyczy specyfikacji POSIX. Zobacz odpowiedź * Jean-Baptiste Yunès * poniżej. – alk