X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Date: Fri, 21 Aug 2009 17:56:41 -0400 From: "cygwin at sipxx.com" Subject: Re: fcntl bug In-reply-to: <4A8F0944.5020004@byu.net> To: cygwin AT cygwin DOT com Reply-to: cygwin AT sipxx DOT com Message-id: <4A8F1819.9060209@sipxx.com> MIME-version: 1.0 Content-type: text/plain; charset=ISO-8859-1; format=flowed Content-transfer-encoding: 7BIT References: <4A8F0944 DOT 5020004 AT byu DOT net> User-Agent: Thunderbird 2.0.0.23 (Windows/20090812) X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com It does reject the argument if the upper bound is reached. On the lower end, the linux man page does not specify that negative numbers are not allowed as arguments. Note, that fcntl is not supposed to be the same as dup2(), i.e., it does NOT duplicate the given fd into the new one specified, but should return the next available fd equal to or larger than the argument. Cygwin does this correctly, from what I have tested. Eric Blake wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > fcntl is supposed to reject attempts to duplicate to an out-of-range fd. > On Linux, this correctly fails with EINVAL. > > #include > #include > #include > #include > int main() > { > int i = fcntl (0, F_DUPFD, -1); > printf ("%d %d %s\n", i, errno, strerror (errno)); > return 0; > } > > - -- > Don't work too hard, make some time for fun as well! > > Eric Blake ebb9 AT byu DOT net > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.9 (Cygwin) > Comment: Public key at home.comcast.net/~ericblake/eblake.gpg > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ > > iEYEARECAAYFAkqPCUQACgkQ84KuGfSFAYAdegCeLzWjDGyi8tVPNoRnt+BIPQF5 > lq4AoNHrJnkOp9CnQSUrtHzxXTA1YVrM > =3f49 > -----END PGP SIGNATURE----- > > -- > Problem reports: http://cygwin.com/problems.html > FAQ: http://cygwin.com/faq/ > Documentation: http://cygwin.com/docs.html > Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple > > > -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple