Messages in this thread | | | Subject | Re: UNIX Compatibility | From | Bernd Petrovitsch <> | Date | Thu, 26 May 2011 14:24:59 +0200 |
| |
On Don, 2011-05-26 at 08:07 -0400, Valdis.Kletnieks@vt.edu wrote: > On Thu, 26 May 2011 13:30:39 +0200, Bernd Petrovitsch said: > > > Or take the "unlink a directory gives EPERM" example: why is it > > specified with an errno that indicates that the user is not allowed to > > remove it (and not that the sys-call is the wrong one). > > Because on some old Unix's, it wasn't the wrong syscall...
Oh well, I'm probably too young for that ....
> RATIONALE > > Unlinking a directory is restricted to the superuser in many historical > implementations for reasons given in link() (see also rename()). > > http://pubs.opengroup.org/onlinepubs/009695399/functions/unlink.html
So someone changes the semantics of the unlink() sys-call (obviously in some compatible, standards-compliant way) as it no longer unlinks directories but it is not possible to define the returned errno for the new error case to something sane?
What did I miss?
Bernd -- Bernd Petrovitsch Email : bernd@petrovitsch.priv.at LUGA : http://www.luga.at
| |