Re: UNIX Compatibility

From: Bernd Petrovitsch
Date: Thu May 26 2011 - 08:25:24 EST


On Don, 2011-05-26 at 08:07 -0400, Valdis.Kletnieks@xxxxxx 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@xxxxxxxxxxxxxxxxxxx
LUGA : http://www.luga.at

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/