mirror of
https://github.com/sasjs/core.git
synced 2026-01-16 13:00:05 +00:00
chore: automated commit
This commit is contained in:
@@ -17,8 +17,8 @@
|
|||||||
_webout. To assist with this, we also run stpsrvset('program error', 0)
|
_webout. To assist with this, we also run stpsrvset('program error', 0)
|
||||||
and set SYSCC=0. For 9.4m3 we take a unique approach - we open a macro
|
and set SYSCC=0. For 9.4m3 we take a unique approach - we open a macro
|
||||||
but don't close it! This provides a graceful abort, EXCEPT when called
|
but don't close it! This provides a graceful abort, EXCEPT when called
|
||||||
called within a %include within a macro. See tests/mp_abort.test.1.sas for
|
called within a %include within a macro (and that macro contains additional
|
||||||
an example case.
|
logic). See mp_abort.test.nofix.sas for the example case.
|
||||||
If you know of another way to gracefully abort a 9.4m3 STP session, we'd
|
If you know of another way to gracefully abort a 9.4m3 STP session, we'd
|
||||||
love to hear about it!
|
love to hear about it!
|
||||||
|
|
||||||
|
|||||||
@@ -1,29 +0,0 @@
|
|||||||
/**
|
|
||||||
@file
|
|
||||||
@brief Testing mp_abort macro
|
|
||||||
@details This is an unfixed problem with mp_abort. When called from within
|
|
||||||
a macro, within a %include, and that macro contains subsequent logic, the
|
|
||||||
service does not end cleanly - rather, we see:
|
|
||||||
|
|
||||||
ERROR: %EVAL function has no expression to evaluate, or %IF statement has no condition.
|
|
||||||
ERROR: The macro TEST will stop executing.
|
|
||||||
|
|
||||||
<h4> SAS Macros </h4>
|
|
||||||
@li mp_abort.sas
|
|
||||||
@li mp_assert.sas
|
|
||||||
|
|
||||||
**/
|
|
||||||
|
|
||||||
%macro test();
|
|
||||||
|
|
||||||
filename blah temp;
|
|
||||||
data _null_;
|
|
||||||
file blah;
|
|
||||||
put '%mp_abort();';
|
|
||||||
run;
|
|
||||||
%inc blah;
|
|
||||||
|
|
||||||
%if 1=1 %then %put Houston - we have a problem here;
|
|
||||||
%mend test;
|
|
||||||
|
|
||||||
%test()
|
|
||||||
36
tests/base/mp_abort.test.nofix.sas
Normal file
36
tests/base/mp_abort.test.nofix.sas
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
/**
|
||||||
|
@file
|
||||||
|
@brief Testing mp_abort macro
|
||||||
|
@details This is an unfixed problem with mp_abort when using the
|
||||||
|
'unclosed macro' technique. This is only relevant for 9.4m3 environments,
|
||||||
|
which can suffer from hung multibridge sessions from %abort and endsas.
|
||||||
|
|
||||||
|
The issue is that when called within a macro, within a %include, AND that
|
||||||
|
macro contains subsequent logic, the service does not end cleanly - rather,
|
||||||
|
we see:
|
||||||
|
|
||||||
|
ERROR: %EVAL function has no expression to evaluate, or %IF statement has no condition.
|
||||||
|
ERROR: The macro TEST will stop executing.
|
||||||
|
|
||||||
|
We are not able to test this without a 9.4m3 environment, it is marked as
|
||||||
|
nofix.
|
||||||
|
|
||||||
|
<h4> SAS Macros </h4>
|
||||||
|
@li mp_abort.sas
|
||||||
|
@li mp_assert.sas
|
||||||
|
|
||||||
|
**/
|
||||||
|
|
||||||
|
%macro test();
|
||||||
|
|
||||||
|
filename blah temp;
|
||||||
|
data _null_;
|
||||||
|
file blah;
|
||||||
|
put '%mp_abort();';
|
||||||
|
run;
|
||||||
|
%inc blah;
|
||||||
|
|
||||||
|
%if 1=1 %then %put Houston - we have a problem here;
|
||||||
|
%mend test;
|
||||||
|
|
||||||
|
%test()
|
||||||
Reference in New Issue
Block a user