Subject: | |
From: | |
Reply To: | |
Date: | Mon, 2 Mar 1998 16:08:21 -0800 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
Ernest writes:
> Does not anybody know where I can get info on using Architechted Interface
> for Procedure Exits. We have a need to trap calls to DBPUT and as I recall
> from reading somewhere AIF would be a better good way to accomplish this.
You have to order the documentation from HP, because it's a product.
AIF:PE notes & cautions:
1) accessing the parameter list of an intercepted intrinisc isn't
trivial, nor obvious.
<plug> CSEQ from Lund Performance Solutions has a feature that makes it
significantly easier to write intercepts for intrinsics.
:cseq
set PE <--- tells CSEQ you want info in AIF:PE style
DBOPEN
//
</plug>
2) AIF:PE doesn't intercept CM calls. So, make sure you're using
the NM version of QUERY, and that your other calls are from
NM programs. There are workarounds to this limitation, but
they aren't easy. (Sure, you can get AIF:PE to intercept
*your* CM routines...but not CM intrinsics.)
3) AIF:PE is a great product ... but ... it significantly increases
the likelihood of system failures/halts/hangs
Here's just a few of the one-line problem descriptions in
HP ESC (I searched for "AIF and PE" ... the only search I've
done this year that didn't come up with HP-UX "hits" too!)
980228 SR 5.0 SA1458 in fork_bsqh; BSQE Table full (too many AIF:PE users)
980228 SR AIF:PE PEARM intrinsic "CM" parm can 'corrupt' CM stack
980228 SR AIF:PE handler intermittently not being executed on 5.5
980228 SR Correct AIF:PE readme file - not all CI commands use exec_cmd path
980228 SR MPEJX90 "solution" is unusuable, need increased AIF:PE limits (MPEJX44)
980228 SR NWIX: Arming TERMINATE_PROCESS in AIF:PE
980228 SR Need to update 3.0 README file to delete pe_begin/end_stop_user refs.
4) Use of AIF:PE generally opens security and integrity holes in the
system.
That said, you may want to investigate the possibility of using an intercept
XL instead of AIF:PE. Why? Free, safer. Why not? you have to remember
to use an XL! (True, you can use LINKEDIT to ALTPROG existing programs and
add an "XL=" list to them.)
Additionally, the XL approach is easier to debug.
But, the XL approach doesn't begin to address intercepting CM calls.
(You can try using SLs, but that's not as powerful (no global storage),
and doesn't work with program in PUB.SYS ... although at least one
workaround exists.)
--
Stan Sieler [log in to unmask]
http://www.allegro.com/sieler.html
|
|
|