> We have a long-running Started Task that controls the use of an ENF > listener for SMF interval record collection with an operator > command. The ENF listener requires use of CSA storage. > > When the Started Task receives an operator command to start SMF > interval processing it allocates CSA storage, registers the ENF > listener, and WAITs for interval expiration. > > The question is: what should it do when the operator command says to > stop SMF interval processing? > > The options seem to be: > > > 1) Deregister the ENF listener and free the CSA storage, > meaning an operator can switch SMF interval processing on and off, > causing CSA storage to be allocated and deallocated, possibly > fragmenting CSA storage. But when we aren't collecting SMF interval > data, we won't have an ENF listener registered. > > > 2) Leave the ENF listener registered, but stop writing records > when the interval expires. Don't stop the ENF listener and free CSA > until the Started Task terminates (or possibly a special operator > command like /f stcname,SMF STOP). This approach is easier on CSA > allocations for the case where the operator is switching SMF > interval collection on and off. But it leaves an ENF listener > registered when one is not needed. > > Which approach have you seen? Which is "better" (and why)?
Keep in mind that for an ENF exit that was established via the EXIT= keyword on the ENFREQ ACTION=LISTEN macro, the exit could still be executing or be called even after an ENFREQ ACTION=DELETE returns to you. So be very careful about which storage you think you can safely free after doing an ENFREQ ACTION=DELETE. Jim Mulder z/OS System Test IBM Corp. Poughkeepsie, NY ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN

