Child process from USER call

Tom Pancero postmaster at cobbinc.com
Fri Jun 4 06:22:21 PDT 2004


Red Hat 8
Filepro 5.0.11

Child process refuses to die when the processing
table, that calls it, terminates.

System Overview;

Each customer may have more than 1 set of mail list data.
Each set of mail list data must be 'owned' by a 'MAILLERS'
record.

When you want to access the data for a particular customer
you first enter the MAIL LIST sub-system from a Filepro
menu.  This will invoke a $CLERK session in the MAILLERS
file that will get you to the correct record with Index
Selection on the "List ID" field.

To A/U/D a member of the list you will invoke another
$CLERK session in the MAILLIST file with the
-m {QUALIFIER} flag, among others.

In the MAILLIST input processing table I need to make a
USER call to a function, that is written in C, and resides
in the /u/ams directory.  The ADDR function takes 3 lines
of input and returns 2 or more lines of output where the
LAST line returns the string "DONE".

When the ADDR program completes a 'Call' (and returns the
DONE flag) it closes the files associated with the function
of the ADDR program.

When the MAILLIST input processing table terminates I would
expect to see the child process, spawned by the USER call,
to terminate also.  It does not do this.  The process
remains with the Parent_Process_ID set to 1.

Below is a snippet of the MAILLIST input processing table.
The deleted lines are declarations and logic branches that
have no bearing on this discussion.

Does Filepro have the ability to "CLOSE' a user call??

Thanks.

  65 -------   -   -   -   -   -   -   -   -   -   -   -
         If: ' *******************************************
       Then: ' ***** Start the Address Matching process
  69 -------   -   -   -   -   -   -   -   -   -   -   -
         If:
       Then: user addrmatch=/u/ams/addr
  77 -------   -   -   -   -   -   -   -   -   -   -   -
         If: ' *******************************************
       Then: ' ***** Send data strings to ADDR()
  78 -------   -   -   -   -   -   -   -   -   -   -   -  
         If:
       Then: addrmatch =19 ;addrmatch =3 ;addrmatch =addr_3
  79 -------   -   -   -   -   -   -   -   -   -   -   -
tstlp    If: not addrmatch
       Then: display; end
  80 -------   -   -   -   -   -   -   -   -   -   -   -  
         If: ' *******************************************
       Then: ' ***** Fetch result of USER call
  81 -------   -   -   -   -   -   -   -   -   -   -   -
adlp     If: l lt "10"
       Then: l =l +"1"
  82 -------   -   -   -   -   -   -   -   -   -   -   -
         If:
       Then: addr(l) =addrmatch
  83 -------   -   -   -   -   -   -   -   -   -   -   -
         If: addr(l) ne "DONE"
       Then: goto adlp
  84 -------   -   -   -   -   -   -   -   -   -   -   -
         If: ' *******************************************
       Then: ' ***** Decide which returned line to use




More information about the Filepro-list mailing list