Match dup2 and fcntl error values to POSIX.

* dtable.h (OPEN_MAX_MAX): New macro.
* resource.cc (getrlimit) [RLIMIT_NOFILE]: Use it.
* dtable.cc (dtable::extend): Likewise.
* fcntl.cc (fcntl64): Obey POSIX rule with too-large F_DUPFD.
* syscalls.cc (dup2): Likewise.
This commit is contained in:
Eric Blake
2009-09-22 04:09:03 +00:00
parent a7b24e14d7
commit 29bca9bb0c
6 changed files with 23 additions and 5 deletions

View File

@@ -1,6 +1,7 @@
/* dtable.h: fd table definition.
Copyright 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008 Red Hat, Inc.
Copyright 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Red
Hat, Inc.
This file is part of Cygwin.
@@ -10,6 +11,8 @@ details. */
/* Initial and increment values for cygwin's fd table */
#define NOFILE_INCR 32
/* Maximum size we allow expanding to. */
#define OPEN_MAX_MAX (100 * NOFILE_INCR)
#include "thread.h"
#include "sync.h"