|
|
@ -123,9 +123,9 @@ sem_t *sem_open(const char *name, int flags, ...) |
|
|
goto fail; |
|
|
goto fail; |
|
|
} |
|
|
} |
|
|
close(fd); |
|
|
close(fd); |
|
|
if (link(tmp, name) == 0) break; |
|
|
e = link(tmp, name) ? errno : 0; |
|
|
e = errno; |
|
|
|
|
|
unlink(tmp); |
|
|
unlink(tmp); |
|
|
|
|
|
if (!e) break; |
|
|
/* Failure is only fatal when doing an exclusive open;
|
|
|
/* Failure is only fatal when doing an exclusive open;
|
|
|
* otherwise, next iteration will try to open the |
|
|
* otherwise, next iteration will try to open the |
|
|
* existing file. */ |
|
|
* existing file. */ |
|
|
|