Re: FILE's _file can only hold a short

From: John Baldwin <jhb_at_freebsd.org>
Date: Fri, 11 Jan 2013 10:44:32 -0500
On Wednesday, October 31, 2012 02:12:55 PM mdf_at_freebsd.org wrote:
> I seem to recall a thread earlier on this limitation, but looking at
> actual libc/stdio sources, the 4 year old check for open(2)'s fd being
> less than SHRT_MAX is still there.  I thought I saw a patch to change
> this to an int, but it's not in the tree.  Was this in a PR or a
> mailing list thread or am I just imagining things?
> 
> We've run into this limitation at work, where some processes have
> around 32k open file descriptors and then try to use the libc FILE
> interface.  Since we control ABI we can just change this to int, but I
> had been hoping there was a FreeBSD revision we could pull instead of
> having another diff.

I had been working on a port-exp run.  The problem I have run into is
that perl actually reaches inside of FILE directly to clear out _file
so it can control when the fd is actually closed (really gross).  I
have extended my stuff so that old Perl binaries should still work, but
wanted to figure out how to prevent future Perl binaries from growing
the same dependency.  Also, I haven't had a chance to do a follow-up
to find what else out in ports-land tries to use _file directly from
FILE.

-- 
John Baldwin
Received on Fri Jan 11 2013 - 19:42:03 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:33 UTC