Dave Day wrote on 1/18/2012 7:38 AM:
John,
They both wind up going to the same place, eventually. The
ENQ/DEQ SVC's execute a Program Call into the GRS address space, as
part of SVC processing. ISGENQ gets there in what appears to be a
more straight forward fashion. It sets up the parameter list, and
then PC's into GRS. No SVC interrupt handling and such. This is
what I have seen when comparing the two in system trace table entries.
True, but there's ENQ/DEQ LINKAGE=SYSTEM which generates a PC,
bypassing the SVC overhead.
I use both. I prefer ENQ/DEQ LINKAGE=SYSTEM to ISGENQ. The parmlist
is a lot shorter/simpler. OTOH, ISGENQ has the now-typical n-zillion
reason codes when you don't get RC=0, and there are some features only
available via ISGENQ. One irritation with ISGENQ is that a privileged
program enqueueing on an unprivileged QNAME must code COND=YES and
then just to annoy you, it gives RC=4 with a reason code indicating
"unprivileged QNAME".
Another sharp edge that's kept me from converting somel ENQ/DEQ to
ISGENQ is that certain modular programs don't have a handy place to
pass the token from ISGENQ OBTAIN to ISGENQ RELEASE, and the ISGENQ
only supports releasing by token, not by resource name. So it's
ENQ/DEQ LINKAGE=SYSTEM for the foreseeable future in those programs.
Which reminds me. ENQ/DEQ LINKAGE=SVC cannot be issued by AR mode
callers. Guess how I discovered that...
/Leonard
--Dave
----- Original Message ----- From: "McKown, John"
<[email protected]>
Newsgroups: bit.listserv.ibm-main
To: <[email protected]>
Sent: Wednesday, January 18, 2012 9:21 AM
Subject: New code? use ENQ/DEQ or ISGENQ?
I am writing some new code. It is a z/OS UNIX command, and so I
feel that using "old" facilities for backwards compatability is not
really an issue. Just as I have heard people say that using STORAGE
OBTAIN/RELEASE is "better" than GETMAIN/FREEMAIN, is using ISGENQ
OBTAIN/RELEASE "better" than using ENQ/DEQ? It does appear to have
some nice enhancements over ENQ/DEQ for the "average" (non
authorized) user.
--
John McKown
Systems Engineer IV
IT
Administrative Services Group
HealthMarkets(r)
9151 Boulevard 26 * N. Richland Hills * TX 76010
(817) 255-3225 phone *
[email protected] * www.HealthMarkets.com
Confidentiality Notice: This e-mail message may contain
confidential or proprietary information. If you are not the
intended recipient, please contact the sender by reply e-mail and
destroy all copies of the original message. HealthMarkets(r) is the
brand name for products underwritten and issued by the insurance
subsidiaries of HealthMarkets, Inc. -The Chesapeake Life Insurance
Company(r), Mid-West National Life Insurance Company of TennesseeSM
and The MEGA Life and Health Insurance Company.SM
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN