This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: errno.h: ESTRPIPE


Corinna Vinschen wrote:
On Mar 16 16:35, Ralf Corsepius wrote:
Corinna Vinschen wrote:
The error code is used at least in Linux and Solaris.
It's not part of any POSIX or other standard I am aware about.

If there should be one, please point me to it.

If we generate
our own Cygwin-specific error codes we will at one point have a errno
list where the same error code is used for different purposes on
different systems.  I don't see that this gains anybody anything.
I don't have much of a problem with Cygwin wanting to adopt other OS's proprietary extensions. But this is not what your patch is doing.

Your patch is infecting newlib with Cygwin's wish to generalize ESTRIPE. This is wrong. ESTRIPE is a non-standardized and OS-specific extension, and therefore should be treated as such (i.e. #ifdef'ed).

It's not ESTRIPE but ESTRPIPE.
Pardon, typo on my part. I am talking about ESTRPIPE

C.f. the patch below.

Newlib already defines the following errors not present in the POSIX standard:
Well, latent bugs, subject to fixing, I'd say.

EADV /* Advertise error */
EBADE /* Invalid exchange */
EBADFD /* f.d. invalid for this operation */
EBADR /* Invalid request descriptor */
EBADRQC /* Invalid request code */
EBADSLT /* Invalid slot */
EBFONT /* Bad font file fmt */
ECHRNG /* Channel number out of range */
ECOMM /* Communication error on send */
EDEADLOCK /* File locking deadlock error */
EDOTDOT /* Cross mount point (not really error) */
EFTYPE /* Inappropriate file type or format */
EHOSTDOWN /* Host is down */
EL2HLT /* Level 2 halted */
EL2NSYNC /* Level 2 not synchronized */
EL3HLT /* Level 3 halted */
EL3RST /* Level 3 reset */
ELBIN /* Inode is remote (not really error) */
ELIBACC /* Can't access a needed shared lib */
ELIBBAD /* Accessing a corrupted shared lib */
ELIBEXEC /* Attempting to exec a shared library */
ELIBMAX /* Attempting to link in too many libs */
ELIBSCN /* .lib section in a.out corrupted */
ELNRNG /* Link number out of range */
ENMFILE /* No more files */
ENOANO /* No anode */
ENOCSI /* No CSI structure available */
ENONET /* Machine is not on the network */
ENOPKG /* Package not installed */
ENOTBLK /* Block device required */
ENOTUNIQ /* Given log. name not unique */
EPFNOSUPPORT /* Protocol family not supported */
EPROCLIM EREMCHG /* Remote address changed */
EREMOTE /* The object is remote */
ESHUTDOWN /* Can't send after socket shutdown */
ESOCKTNOSUPPORT /* Socket type not supported */
ESRMNT /* Srmount error */
ETOOMANYREFS EUNATCH /* Protocol driver not attached */
EUSERS EXFULL /* Exchange full */


And I even didn't mention the Cygwin-specific

  ECASECLASH      /* Filename exists with different case */
  ENOMEDIUM       /* No medium (in tape drive) */
  ENOSHARE        /* No such host or network path */

What's different with ESTRPIPE now?
The ones you mention above are in the same bug-lane as ESTRPIPE is.

The only difference: ESTRPIPE is a new bug.

Ralf




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]