Index: backend/postmaster/syslogger.c
===================================================================
RCS file: /projects/cvsroot/pgsql/src/backend/postmaster/syslogger.c,v
retrieving revision 1.12
diff -c -r1.12 syslogger.c
*** backend/postmaster/syslogger.c	1 Jan 2005 20:44:16 -0000	1.12
--- backend/postmaster/syslogger.c	21 Feb 2005 19:49:55 -0000
***************
*** 698,706 ****
  #endif
  
  	if (rc != count)
! 		ereport(LOG,
! 				(errcode_for_file_access(),
! 				 errmsg("could not write to log file: %m")));
  }

  #ifdef WIN32
--- 698,704 ----
  #endif

  	if (rc != count)
! 		write_stderr("could not write to log file: %m");
  }

  #ifdef WIN32
Index: backend/utils/error/elog.c
===================================================================
RCS file: /projects/cvsroot/pgsql/src/backend/utils/error/elog.c,v
retrieving revision 1.155
diff -c -r1.155 elog.c
*** backend/utils/error/elog.c	31 Dec 2004 22:01:27 -0000	1.155
--- backend/utils/error/elog.c	21 Feb 2005 19:51:11 -0000
***************
*** 1630,1640 ****
  #endif   /* WIN32 */
  	/* Write to stderr, if enabled */
  	if ((Log_destination & LOG_DESTINATION_STDERR) || whereToSendOutput == Debug)
! 		fprintf(stderr, "%s", buf.data);
!
! 	/* If in the syslogger process, try to write messages direct to file */
! 	if (am_syslogger)
! 		write_syslogger_file(buf.data, buf.len);

  	pfree(buf.data);
  }
--- 1630,1653 ----
  #endif   /* WIN32 */
  	/* Write to stderr, if enabled */
  	if ((Log_destination & LOG_DESTINATION_STDERR) || whereToSendOutput == Debug)
! 	{
! 		/* If in the syslogger process, try to write messages direct to file */
! 		if (am_syslogger)
! 			write_syslogger_file(buf.data, buf.len);
! 		else
! 		{
! #ifdef WIN32
! 			/* In a win32 service environment, there is no usable stderr. Capture
! 			   anything going there and write it to the eventlog instead.
! 			   If stderr redirection is active, leave it to stderr because the
! 			   logger will capture it to a file. */
! 			if (!Redirect_stderr && pgwin32_is_service())
! 				write_eventlog(EVENTLOG_ERROR_TYPE, buf.data);
! 			else
! #endif
! 				fprintf(stderr, "%s", buf.data);
! 		}
! 	}

  	pfree(buf.data);
  }

