Subject: Re: bin/19849: Race conditions in compress
To: None <netbsd-bugs@netbsd.org>
From: David Laight <david@l8s.co.uk>
List: netbsd-bugs
Date: 01/15/2003 17:47:10
> IMHO, it's better to open the file and use ENOENT == errno to decide
> whether the file exists or not.
>
> if ((ifp = fopen(in, "r")) == NULL) {
> cwarn("%s", in);
> return;
> }
You need to do the underlying open with O_NONBLOCK set just in
case a char special is specified (which might block - eg a tty
line waiting for carrier).
This starts getting hard if you want (need?) to keep portability
with non-unix systems.
OTOH there are an awful lot of these sort of race conditions
lurking, and fixing them will do no harm.
David
--
David Laight: david@l8s.co.uk