This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: [PATCH] tests: don't assume getdtablesize () <= 10000000
- From: Peter Rosin <peda at lysator dot liu dot se>
- To: cygwin at cygwin dot com
- Date: Wed, 25 Sep 2013 08:49:26 +0200
- Subject: Re: [PATCH] tests: don't assume getdtablesize () <= 10000000
- Authentication-results: sourceware.org; auth=none
- References: <517EF2F1 dot 2030802 at cs dot ucla dot edu> <5241DBE6 dot 4000007 at redhat dot com> <20130925043225 dot GB1192 at ednor dot casa dot cgf dot cx>
On 2013-09-25 06:32, Christopher Faylor wrote:
> On Tue, Sep 24, 2013 at 12:37:26PM -0600, Eric Blake wrote:
>> This patch causes failures on at least test-fcntl and test-dup2 on
>> cygwin (both 32-bit and 64-bit); there, getdtablesize() currently
>> returns the current runtime value, but this value starts at 256, and
>> automatically expands as needed at runtime up to 3200. I think cygwin
>> should be patched to make getdtablesize() return a constant 3200 (rather
>> than the current runtime value);
>
> Why? What does "3200" have to do with anything? There is not supposed
> to be a hard-coded upper limit.
Go back and read the gdb session. STC in C:
#include <unistd.h>
#include <stdio.h>
#include <errno.h>
int main(void)
{
int ret = dup2(0, 3200);
if (ret == -1)
printf("3200 errno %d: %s\n", errno, strerror(errno));
else
printf("3200 ok");
ret = dup2(0, 3199);
if (ret == -1)
printf("3199 errno %d: %s\n", errno, strerror(errno));
else
printf("3199 ok");
return 0;
}
output on my system:
3200 errno 9: Bad file descriptor
3199 ok
--
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