summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJim Blandy <jimb@redhat.com>1993-03-11 07:13:06 +0000
committerJim Blandy <jimb@redhat.com>1993-03-11 07:13:06 +0000
commita90538cbb5cbd3d79d608d5e360055a7279cbdf6 (patch)
tree2186502bcec135c4f19afa9f14333496789573b6 /src
parentd6717cdb6db06dea89feaa5cd92e2de2fda1ed0f (diff)
downloademacs-a90538cbb5cbd3d79d608d5e360055a7279cbdf6.tar.gz
emacs-a90538cbb5cbd3d79d608d5e360055a7279cbdf6.tar.bz2
emacs-a90538cbb5cbd3d79d608d5e360055a7279cbdf6.zip
* emacs.c (__do_global_ctors, __do_global_ctors_aux,
__do_global_dtors, __CTOR_LIST__, __DTOR_LIST__, __main): Don't define these if ORDINARY_LINK is #defined; in that case, the standard linking procedure will find definitions for these. * emacs.c (main): SIGIOT isn't defined on all systems; don't set its signal handler unless it is.
Diffstat (limited to 'src')
-rw-r--r--src/emacs.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/emacs.c b/src/emacs.c
index b33bb7fa447..25edb3fc659 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -140,7 +140,7 @@ fatal_error_signal (sig)
Remember that since we're in a signal handler, the signal we're
going to send is probably blocked, so we have to unblock it if we
want to really receive it. */
- sigblock(SIGEMPTYMASK);
+ sigunblock (sigmask (fatal_error_code));
kill (getpid (), fatal_error_code);
#endif /* not VMS */
}
@@ -173,6 +173,7 @@ extern noshare char **environ;
#endif /* LINK_CRTL_SHARE */
#endif /* VMS */
+#ifndef ORDINARY_LINK
/* We don't include crtbegin.o and crtend.o in the link,
so these functions and variables might be missed.
Provide dummy definitions to avoid error.
@@ -189,6 +190,7 @@ char * __DTOR_LIST__[2] = { (char *) (-1), 0 };
__main ()
{}
#endif /* __GNUC__ */
+#endif /* ORDINARY_LINK */
/* ARGSUSED */
main (argc, argv, envp)
@@ -375,7 +377,10 @@ main (argc, argv, envp)
signal (SIGQUIT, fatal_error_signal);
signal (SIGILL, fatal_error_signal);
signal (SIGTRAP, fatal_error_signal);
+#ifdef SIGIOT
+ /* This is missing on some systems - OS/2, for example. */
signal (SIGIOT, fatal_error_signal);
+#endif
#ifdef SIGEMT
signal (SIGEMT, fatal_error_signal);
#endif