On Wed, 26 Sep 2012 12:01:28 -0500, McKown, John
<[email protected]> wrote:
>Just to save me time creating and testing, what happens in that case? I know
>that, in batch, when linking into a PDS[E], I use the NOSTORENX so that the
>new program is not put/updated in the library. I don't really see any reason
>to allow a non-executable module to be placed in the library. But I run in a
>simplistic shop, too. IIRC, if you tried to run such a problem in batch, fetch
>would cause an abend.
>
exec() correctly detects that Binder has marked it nonexecutable and
reports this in errno to shell. Then, compulsively following POSIX
rules, shell attempts to execute it as a script. Since any program
object, executable or not, begins with CL8'IEWPLMH ', you don't
need to create a test, the following happens:
136$ sh /bin/true
IEWPLMH: /bin/true 22: FSUM7351 not found
Shell stumbles along, reporting additional errors. We can only
hope that it doesn't encounter "rm -rf /" somewhere along the
way.
Next, the user attempts to find IEWPLMH in Messages and Codes,
and failing that contacts either local help desk or IBM support,
sometimes asking for help on MVS-OE. I reported this to IBM
in a PMR. WAD. Bad design? Just obeying POSIX. They could
do better, perhaps with a redefinition of "nonexecutable".
I have an IEWPLMH exec in my PATH that issues an error
message then attempts to kill SIGKILL its parent.
-- gil
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN