Skip site navigation (1) Skip section navigation (2)

Re: [HACKERS] xlog.c.patch for cygwin port.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: yutaka tanida <yutaka(at)marin(dot)or(dot)jp>, Alexei Zakharov <A(dot)S(dot)Zakharov(at)inp(dot)nsk(dot)su>, pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: [HACKERS] xlog.c.patch for cygwin port.
Date: 2000-03-08 01:01:16
Message-ID: 23176.952477276@sss.pgh.pa.us (view raw or flat)
Thread:
Lists: pgsql-hackers
Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> writes:
> This looks interesting.  We could remove some of our ifwin cruft.

I have been thinking for quite some time that most of the CYGWIN32
ifdefs represent very poor programming.  Instead of zillions of

#ifndef __CYGWIN32__
	fd = open(filename, O_RDONLY, 0666);
#else
	fd = open(filename, O_RDONLY | O_BINARY, 0666);
#endif

we should have in one include file something like

#ifndef __CYGWIN32__
#define  OPEN_FLAGS_READ   O_RDONLY
#define  OPEN_FLAGS_WRITE  O_WRONLY
// etc for the combinations we need
#else
#define  OPEN_FLAGS_READ   (O_RDONLY | O_BINARY)
#define  OPEN_FLAGS_WRITE  (O_WRONLY | O_BINARY)
// etc
#endif

and then the body of the code would have

	fd = open(filename, OPEN_FLAGS_READ, 0666);

and no ifdef.  This would also provide a single place to tweak open()
flags for other platforms, whereas the existing method is exactly zero
help for any non-CYGWIN platform that wants to add O_BINARY ...

			regards, tom lane

In response to

Responses

pgsql-hackers by date

Next:From: The Hermit HackerDate: 2000-03-08 01:08:27
Subject: Re: [HACKERS] sqgfault on initdb with current CVS
Previous:From: Tom LaneDate: 2000-03-08 00:55:17
Subject: Re: [HACKERS] DROP TABLE inside a transaction block

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group