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