On Fri, 2004-09-24 at 00:35, Tom Lane wrote:
> I would be inclined to get rid of the separate NOPRINTADE code and make
> NOFIXADE select both flags.

Barring any objections, I intend to apply the attached patch to HEAD
later today.

-Neil

Index: src/backend/main/main.c
===================================================================
RCS file: /home/neilc/private-cvsroot/pgsql-server/src/backend/main/main.c,v
retrieving revision 1.89
diff -c -r1.89 main.c
*** src/backend/main/main.c	29 Aug 2004 05:06:43 -0000	1.89
--- src/backend/main/main.c	24 Sep 2004 02:30:03 -0000
***************
*** 71,88 ****
  
  #if defined(__alpha)			/* no __alpha__ ? */
  #ifdef NOFIXADE
! 	int			buffer[] = {SSIN_UACPROC, UAC_SIGBUS};
! #endif   /* NOFIXADE */
! #ifdef NOPRINTADE
! 	int			buffer[] = {SSIN_UACPROC, UAC_NOPRINT};
! #endif   /* NOPRINTADE */
  #endif   /* __alpha */
  
  #ifdef WIN32
  	char	   *env_locale;
  #endif
  
! #if defined(NOFIXADE) || defined(NOPRINTADE)
  
  #if defined(ultrix4)
  	syscall(SYS_sysmips, MIPS_FIXADE, 0, NULL, NULL, NULL);
--- 71,93 ----
  
  #if defined(__alpha)			/* no __alpha__ ? */
  #ifdef NOFIXADE
! 	int			buffer[] = {SSIN_UACPROC, UAC_SIGBUS | UAC_NOPRINT};
! #endif
  #endif   /* __alpha */
  
  #ifdef WIN32
  	char	   *env_locale;
  #endif
  
! 	/*
! 	 * On some platforms, unaligned memory accesses result in a kernel
! 	 * trap; the default kernel behavior is to emulate the memory
! 	 * access, but this results in a significant performance
! 	 * penalty. We ought to fix PG not to make such unaligned memory
! 	 * accesses, so this code disables the kernel emulation: unaligned
! 	 * accesses will result in SIGBUS instead.
! 	 */
! #ifdef NOFIXADE
  
  #if defined(ultrix4)
  	syscall(SYS_sysmips, MIPS_FIXADE, 0, NULL, NULL, NULL);
***************
*** 94,100 ****
  		write_stderr("%s: setsysinfo failed: %s\n",
  					 argv[0], strerror(errno));
  #endif
! #endif   /* NOFIXADE || NOPRINTADE */
  
  #if defined(WIN32)
  	{
--- 99,105 ----
  		write_stderr("%s: setsysinfo failed: %s\n",
  					 argv[0], strerror(errno));
  #endif
! #endif   /* NOFIXADE */
  
  #if defined(WIN32)
  	{
---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to