[comp.lang.c] processing piped output

eddy@bohica.com (eddy keller) (11/23/89)

I am running a program which emulates an IBM 3278 controller
which allows my users to connect to our local IBM mainframe.
(The hardware here is a Unisys 5000/90 running Unix 5.2).
The software also allows printing through a program which emulates
a 328X printer.  The flow is as follows:  a) a daemon is started 
which establishes communication (SNA/SDLC) with the mainframe, b)
a program to emulate the 328X printer is started (it either runs in
background, or ties up a terminal) so that any user can print, and 
c) at any time here a user can run the 3270 terminal emulation program 
and establish a login session on the mainframe.  The 328X program reads a 
configuration file in which the destination of the requested print can 
be specified (choices are either a file or a process). The problem I am
running into is that while starting the 3280 process allows all users the
ability to print, the 328X program does not differentiate between who requested
what print.  I want to take the output from the 328X program and send it to a
file in the requesting user's area, but (since the output from the 328X program
is piped to my output process) the uid of the remains as the one who started
the 328X process not the requestor.  I have played with lockfiles, starting
and stopping the 328X process (which consistently produces edrain status on the
mainframe), ad infinitum.  The process the output is piped to is written in 
C, BTW.  Any suggestions or ideas (flames off, please) ?? 

thanks,

eddy



-- 
Security Pacific National Bank           S         Systems Division
Financial Management & Trust Services  _\|/_       Glendale, Calif.
Internet: ekeller@bohica.com         UUCP: ...ames!elroy!bohica!ekeller