cygwin rename instead of link (7.2.2)

Started by Henshall, Stuart - WCPalmost 24 years ago2 messagespatches
Jump to latest
#1Henshall, Stuart - WCP
SHenshall@westcountrypublications.co.uk
In the recently released 7.2.2 there is still the problem that this patch
solved:
http://archives.postgresql.org/pgsql-cygwin/2002-05/msg00053.php
Here is a patch against 7.2.2 to resolve it:
*** src/backend/access/transam/xlog.c.orig	Fri Mar 15 19:20:42 2002
--- src/backend/access/transam/xlog.c	Mon Jun 09 13:05:26 2002
***************
** 1506,1512 ****
  	 * overwrite an existing logfile.  However, there shouldn't be one,
so
  	 * rename() is an acceptable substitute except for the truly
paranoid.
  	 */
! #ifndef __BEOS__
  	if (link(tmppath, path) < 0)
  		elog(STOP, "link from %s to %s (initialization of log file
%u, segment %u) failed: %m",
  			 tmppath, path, log, seg);
--- 1506,1512 ----
  	 * overwrite an existing logfile.  However, there shouldn't be one,
so
  	 * rename() is an acceptable substitute except for the truly
paranoid.
  	 */
! #if !defined(__BEOS__) && !defined(__CYGWIN__)
  	if (link(tmppath, path) < 0)
  		elog(STOP, "link from %s to %s (initialization of log file
%u, segment %u) failed: %m",
  			 tmppath, path, log, seg);
#2Bruce Momjian
bruce@momjian.us
In reply to: Henshall, Stuart - WCP (#1)
Re: cygwin rename instead of link (7.2.2)

The fix will appear in 7.3:

#if !defined(__BEOS__) && !defined(N_PLAT_NLM) && !defined(__CYGWIN__)
if (link(tmppath, path) < 0)
elog(PANIC, "link from %s to %s (initialization of log file %u, segment %u) failed: %m",
tmppath, path, log, seg);
unlink(tmppath);

We could have back-patched this into 7.2.2, but one thought of it. Sorry.

---------------------------------------------------------------------------

Henshall, Stuart - WCP wrote:

In the recently released 7.2.2 there is still the problem that this patch
solved:
http://archives.postgresql.org/pgsql-cygwin/2002-05/msg00053.php
Here is a patch against 7.2.2 to resolve it:
*** src/backend/access/transam/xlog.c.orig	Fri Mar 15 19:20:42 2002
--- src/backend/access/transam/xlog.c	Mon Jun 09 13:05:26 2002
***************
** 1506,1512 ****
* overwrite an existing logfile.  However, there shouldn't be one,
so
* rename() is an acceptable substitute except for the truly
paranoid.
*/
! #ifndef __BEOS__
if (link(tmppath, path) < 0)
elog(STOP, "link from %s to %s (initialization of log file
%u, segment %u) failed: %m",
tmppath, path, log, seg);
--- 1506,1512 ----
* overwrite an existing logfile.  However, there shouldn't be one,
so
* rename() is an acceptable substitute except for the truly
paranoid.
*/
! #if !defined(__BEOS__) && !defined(__CYGWIN__)
if (link(tmppath, path) < 0)
elog(STOP, "link from %s to %s (initialization of log file
%u, segment %u) failed: %m",
tmppath, path, log, seg);
-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073