Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Glasgow Haskell Compiler
GHC
Commits
85bea762
Commit
85bea762
authored
Mar 14, 1997
by
sof
Browse files
[project @ 1997-03-14 04:51:38 by sof]
Nil_closure rename + Linux 2.x sigcontext include fix
parent
e3036c87
Changes
1
Hide whitespace changes
Inline
Side-by-side
ghc/runtime/main/Signals.lc
View file @
85bea762
...
...
@@ -19,7 +19,7 @@ Since they're pretty rudimentary, they shouldn't actually cause as
much pain.
\begin{code}
#include "
platform
.h"
#include "
config
.h"
#if defined(sunos4_TARGET_OS)
/* The sigaction in SunOS 4.1.X does not grok SA_SIGINFO */
...
...
@@ -52,8 +52,24 @@ much pain.
#endif
#if defined(linux_TARGET_OS) || defined(linuxaout_TARGET_OS)
/* to look *inside* sigcontext... */
# include <asm/signal.h>
/* to look *inside* sigcontext...
sigcontext has moved and been protected from the General Public,
in later versions (>2), the sigcontext decl is protected by
a __KERNEL__ #ifdef. As ever, we workaround by trying to
be version savvy - the version numbers are currently just a guess!
(ToDo: determine at what version no. the sigcontext move
was made).
*/
# ifndef LINUX_VERSION_CODE
# include <linux/version.h>
# endif
# if (LINUX_VERSION_CODE < 0x020000)
# include <asm/signal.h>
# else
# include <asm/sigcontext.h>
# endif
#endif
#if defined(HAVE_SIGINFO_H)
...
...
@@ -62,7 +78,7 @@ much pain.
#endif
#if defined(cygwin32_TARGET_OS)
#include <windows.h>
#
include <windows.h>
#endif
\end{code}
...
...
@@ -155,7 +171,7 @@ segv_handler(sig)
{
/* From gdb/win32-nat.c */
DEBUG_EVENT event;
BOOL t =
TRUE; /*
WaitForDebugEvent (&event, INFINITE);
*/
BOOL t = WaitForDebugEvent (&event, INFINITE);
fflush(stdout);
if (t == FALSE) {
...
...
@@ -303,7 +319,7 @@ vtalrm_handler(int sig)
if (delayTicks != 0) /* delayTicks>0 => don't handle timer expiry (in GC) */
delayTicks++;
else if (WaitingThreadsHd != Prel
ud
e_Z91Z93_closure)
else if (WaitingThreadsHd != Prel
Bas
e_Z91Z93_closure)
AwaitEvent(RTSflags.ConcFlags.ctxtSwitchTime);
# ifdef PAR
...
...
@@ -322,7 +338,7 @@ vtalrm_handler(int sig)
if (CurrentTSO != NULL ||
# else
if (RunnableThreadsHd != Prel
ud
e_Z91Z93_closure ||
if (RunnableThreadsHd != Prel
Bas
e_Z91Z93_closure ||
# endif
PendingSparksHd[REQUIRED_POOL] < PendingSparksTl[REQUIRED_POOL] ||
PendingSparksHd[ADVISORY_POOL] < PendingSparksTl[ADVISORY_POOL]) {
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment