signal handling bug fixed
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1229 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
parent
5792a4f18e
commit
9d8f0e470d
|
@ -1124,8 +1124,10 @@ p_lgamma(Term t E_ARGS)
|
|||
|
||||
#if HAVE_LGAMMA
|
||||
out = lgamma(dbl);
|
||||
#endif
|
||||
RFLOAT(out);
|
||||
#else
|
||||
RERROR();
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -122,15 +122,15 @@ on_signal(Signal,OldAction,Action) :-
|
|||
on_signal(Signal,OldAction,Action) :-
|
||||
'$reset_signal'(Signal, OldAction),
|
||||
'$current_module'(M),
|
||||
recordz('$sig_handler', action(Signal,M:Action), _).
|
||||
recordz('$signal_handler', action(Signal,M:Action), _).
|
||||
|
||||
'$reset_signal'(Signal, OldAction) :-
|
||||
recorded('$sig_handler', action(Signal,OldAction), Ref), !,
|
||||
recorded('$signal_handler', action(Signal,OldAction), Ref), !,
|
||||
erase(Ref).
|
||||
'$reset_signal'(_, default).
|
||||
|
||||
'$check_signal'(Signal, OldAction) :-
|
||||
recorded('$sig_handler', action(Signal,OldAction), _), !.
|
||||
recorded('$signal_handler', action(Signal,OldAction), _), !.
|
||||
'$reset_signal'(_, default).
|
||||
|
||||
|
||||
|
@ -143,7 +143,7 @@ raise_exception(Ball) :- throw(Ball).
|
|||
on_exception(Pat, G, H) :- catch(G, Pat, H).
|
||||
|
||||
read_sig :-
|
||||
recorded('$sig_handler',X,_),
|
||||
recorded('$signal_handler',X,_),
|
||||
writeq(X),nl,
|
||||
fail.
|
||||
read_sig.
|
||||
|
|
Reference in New Issue