On Tue, May 26, 2015 at 7:52 PM, Roger Riggs <roger.ri...@oracle.com> wrote:
> Hi, > > Sadly, but not entirely unexpectedly there is an anomaly in the include > files: > It seems that Windows does not define O_SYNC and O_DSYNC. > To make up for the absence > jdk/src/java.base/share/native/libjava/io_util.h > conditionally defines them. There is no problem if the system include > files appear > first, but in the other order, fcntl.h tries to re-define it. > In the recommended order, there is no issue. > We should work hard to remove order dependencies in include files. I see that io_util.h includes <fcntl.h>, but only on BSD. Why not include it wherever it is available, (which may be all supported platforms!) before trying to define O_SYNC and D_SYNC?