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
|
#if HAVE_LGAMMA
|
||||||
out = lgamma(dbl);
|
out = lgamma(dbl);
|
||||||
#endif
|
|
||||||
RFLOAT(out);
|
RFLOAT(out);
|
||||||
|
#else
|
||||||
|
RERROR();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -122,15 +122,15 @@ on_signal(Signal,OldAction,Action) :-
|
||||||
on_signal(Signal,OldAction,Action) :-
|
on_signal(Signal,OldAction,Action) :-
|
||||||
'$reset_signal'(Signal, OldAction),
|
'$reset_signal'(Signal, OldAction),
|
||||||
'$current_module'(M),
|
'$current_module'(M),
|
||||||
recordz('$sig_handler', action(Signal,M:Action), _).
|
recordz('$signal_handler', action(Signal,M:Action), _).
|
||||||
|
|
||||||
'$reset_signal'(Signal, OldAction) :-
|
'$reset_signal'(Signal, OldAction) :-
|
||||||
recorded('$sig_handler', action(Signal,OldAction), Ref), !,
|
recorded('$signal_handler', action(Signal,OldAction), Ref), !,
|
||||||
erase(Ref).
|
erase(Ref).
|
||||||
'$reset_signal'(_, default).
|
'$reset_signal'(_, default).
|
||||||
|
|
||||||
'$check_signal'(Signal, OldAction) :-
|
'$check_signal'(Signal, OldAction) :-
|
||||||
recorded('$sig_handler', action(Signal,OldAction), _), !.
|
recorded('$signal_handler', action(Signal,OldAction), _), !.
|
||||||
'$reset_signal'(_, default).
|
'$reset_signal'(_, default).
|
||||||
|
|
||||||
|
|
||||||
|
@ -143,7 +143,7 @@ raise_exception(Ball) :- throw(Ball).
|
||||||
on_exception(Pat, G, H) :- catch(G, Pat, H).
|
on_exception(Pat, G, H) :- catch(G, Pat, H).
|
||||||
|
|
||||||
read_sig :-
|
read_sig :-
|
||||||
recorded('$sig_handler',X,_),
|
recorded('$signal_handler',X,_),
|
||||||
writeq(X),nl,
|
writeq(X),nl,
|
||||||
fail.
|
fail.
|
||||||
read_sig.
|
read_sig.
|
||||||
|
|
Reference in New Issue