fix bad initialization in signals
This commit is contained in:
parent
7e85bfd4a4
commit
233c4ee903
@ -71,7 +71,6 @@ do_signal(int wid, yap_signals sig USES_REGS)
|
|||||||
REMOTE_LastActiveSignal(wid) = 0;
|
REMOTE_LastActiveSignal(wid) = 0;
|
||||||
UNLOCK(REMOTE_SignalLock(wid));
|
UNLOCK(REMOTE_SignalLock(wid));
|
||||||
#else
|
#else
|
||||||
LOCK(LOCAL_SignalLock);
|
|
||||||
if (!LOCAL_InterruptsDisabled) {
|
if (!LOCAL_InterruptsDisabled) {
|
||||||
Yap_regp->CreepFlag_ =
|
Yap_regp->CreepFlag_ =
|
||||||
Unsigned(Yap_regp->LCL0_);
|
Unsigned(Yap_regp->LCL0_);
|
||||||
@ -83,7 +82,6 @@ do_signal(int wid, yap_signals sig USES_REGS)
|
|||||||
if (LOCAL_FirstActiveSignal != LOCAL_LastActiveSignal) {
|
if (LOCAL_FirstActiveSignal != LOCAL_LastActiveSignal) {
|
||||||
do {
|
do {
|
||||||
if (sig == LOCAL_ActiveSignals[i]) {
|
if (sig == LOCAL_ActiveSignals[i]) {
|
||||||
UNLOCK(LOCAL_SignalLock);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
i++;
|
i++;
|
||||||
@ -95,7 +93,6 @@ do_signal(int wid, yap_signals sig USES_REGS)
|
|||||||
LOCAL_LastActiveSignal++;
|
LOCAL_LastActiveSignal++;
|
||||||
if (LOCAL_LastActiveSignal == LOCAL_MaxActiveSignals)
|
if (LOCAL_LastActiveSignal == LOCAL_MaxActiveSignals)
|
||||||
LOCAL_LastActiveSignal = 0;
|
LOCAL_LastActiveSignal = 0;
|
||||||
UNLOCK(LOCAL_SignalLock);
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -424,7 +421,8 @@ Yap_InitSignalCPreds(void)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void Yap_InitSignals(int wid)
|
void *Yap_InitSignals(int wid)
|
||||||
{
|
{
|
||||||
REMOTE_ActiveSignals(wid) = (UInt *)malloc(sizeof(UInt)*REMOTE_MaxActiveSignals(wid));
|
void *ptr = (void *)malloc(sizeof(UInt)*REMOTE_MaxActiveSignals(wid));
|
||||||
|
return ptr;
|
||||||
}
|
}
|
||||||
|
@ -333,6 +333,7 @@ void Yap_InitSavePreds(void);
|
|||||||
|
|
||||||
/* signals.c */
|
/* signals.c */
|
||||||
void Yap_InitSignalCPreds(void);
|
void Yap_InitSignalCPreds(void);
|
||||||
|
void *Yap_InitSignals(int wid);
|
||||||
|
|
||||||
/* sort.c */
|
/* sort.c */
|
||||||
void Yap_InitSortPreds(void);
|
void Yap_InitSortPreds(void);
|
||||||
|
Reference in New Issue
Block a user