mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-24 18:55:04 +08:00
Cleanup some ancient Ultrix / Alpha code in main() that is intended to
modify how unaligned memory accesses are dealt with. Document that this is really what is going on, and merge the NOFIXADE and NOPRINTADE code paths.
This commit is contained in:
parent
3331180bb4
commit
ae72283816
@ -13,7 +13,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/main/main.c,v 1.89 2004/08/29 05:06:43 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/main/main.c,v 1.90 2004/09/24 06:29:07 neilc Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -71,18 +71,23 @@ main(int argc, char *argv[])
|
||||
|
||||
#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 */
|
||||
int buffer[] = {SSIN_UACPROC, UAC_SIGBUS | UAC_NOPRINT};
|
||||
#endif
|
||||
#endif /* __alpha */
|
||||
|
||||
#ifdef WIN32
|
||||
char *env_locale;
|
||||
#endif
|
||||
|
||||
#if defined(NOFIXADE) || defined(NOPRINTADE)
|
||||
/*
|
||||
* 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,7 +99,7 @@ main(int argc, char *argv[])
|
||||
write_stderr("%s: setsysinfo failed: %s\n",
|
||||
argv[0], strerror(errno));
|
||||
#endif
|
||||
#endif /* NOFIXADE || NOPRINTADE */
|
||||
#endif /* NOFIXADE */
|
||||
|
||||
#if defined(WIN32)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user