bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bug #33138] .PARLLELSYNC enhancement with patch


From: David Boyce
Subject: Re: [bug #33138] .PARLLELSYNC enhancement with patch
Date: Thu, 18 Apr 2013 11:21:31 -0700

On Thu, Apr 18, 2013 at 10:09 AM, Frank Heckenbach <address@hidden> wrote:
FILE is an opaque structure which should never be allocated by user
code, so its layout can be implementation specific.

Of course it's an opaque structure. The problem is that the implementation can't change its size without breaking binary compatibility with every previously-compiled program that uses stdio. This is a well-known problem, easily googled for. Here are a couple of references for Solaris:

https://groups.google.com/forum/?fromgroups=#!topic/comp.unix.solaris/yky1fsJ3PMI
http://www.oracle.com/technetwork/server-storage/solaris10/stdio-256-136698.html

> In particular, on Linux the field is an int ...

"Linux" is a pretty elastic term, covering both 32- and 64-bit variants plus many kernels and distros. All 64-bit builds of any system will expand the original unsigned char; the opportunity to break binary compatibility allows for a lot of fixes. For all I know Linux even offers a clever fix in 32-bit versions, but there remain plenty of other 32-bit platforms with the problem.

Bottom line, in 32-bit code you have to program for the likelihood that no more than 256 streams may be open at once.

-David Boyce

reply via email to

[Prev in Thread] Current Thread [Next in Thread]