4.2 inetd passes its last open descriptor to child processes

4.2 inetd passes its last open descriptor to child processes

Post by Vic Abe » Fri, 03 Jan 1997 04:00:00



Tracking a network server problem with lsof, by accident I uncovered
evidence suggesting the AIX 4.2 inetd leaves its last file descriptor
open when forking children.  Hence the child processes -- rlogind,
rshd, telenetd, etc. -- each hold the file open for their duration.

I've not seen this error break anything, although it will put
unnecessary stress on the file tables of systems that have a large
number of inetd-parented processes.  This error doesn't seem to be
present in the AIX 4.1.4 inetd.


 
 
 

4.2 inetd passes its last open descriptor to child processes

Post by Aidan Eva » Fri, 03 Jan 1997 04:00:00



>Tracking a network server problem with lsof, by accident I uncovered
>evidence suggesting the AIX 4.2 inetd leaves its last file descriptor
>open when forking children.  Hence the child processes -- rlogind,
>rshd, telenetd, etc. -- each hold the file open for their duration.

>I've not seen this error break anything, although it will put
>unnecessary stress on the file tables of systems that have a large
>number of inetd-parented processes.  This error doesn't seem to be
>present in the AIX 4.1.4 inetd.

  There is an APAR IX61987 "INETD LEAVES FILE OPEN" for AIX 4.2 and
similarly IX58512 for AIX 4.1.  FixDist indicates that the problem is fixed
in bos.net.tcp.client.4.2.0.6 or bos.net.tcp.client.4.1.4.16


            | 494-3332     | University Computing & Information Services
                           | Dalhousie University, Halifax, N.S., Canada

 
 
 

4.2 inetd passes its last open descriptor to child processes

Post by simo » Tue, 07 Jan 1997 04:00:00



> Tracking a network server problem with lsof, by accident I uncovered
> evidence suggesting the AIX 4.2 inetd leaves its last file descriptor
> open when forking children.  Hence the child processes -- rlogind,
> rshd, telenetd, etc. -- each hold the file open for their duration.
> I've not seen this error break anything, although it will put
> unnecessary stress on the file tables of systems that have a large
> number of inetd-parented processes.  This error doesn't seem to be
> present in the AIX 4.1.4 inetd.

It can break one implementation of the pop-password changer from
memory.  (The image does some * file-descriptor tutu-ing to
find the descriptor to communicate with a child running passwd.
Blech. ).

--


          http://www.veryComputer.com/
University of Waikato, Private Bag 3105, Hamilton, New Zealand..

 
 
 

1. Passing open descriptors between processes

Suppose I have two processes (lets call them "client" and "server").
I want the "client" process to write to a file but it doesnt have
permission to create/write the file in the given directory.  The
"server" process does have this permission however. If I have the
"client" send a message to the "server" telling it to open the file,
and pass back the open-file descriptor (using the I_SENDFD, and
I_RECVFD function codes of ioctl() in SVR4), then is the "client"
process allowed to succesfully write to the file? What about flushing,
(f)syncing, and closing the file?

--
______________________ "And miles to go before I sleep." ______________________

                            uunet!travis!brad          Fort Lauderdale, FL USA
~~~~~~~~~~~~~~~~~~~ Disclaimer: I said it, not my employer! ~~~~~~~~~~~~~~~~~~~

2. Help: Printers and Equinox Megaplex

3. child process killed on 4.3, not on 4.2

4. Rogers wave account

5. Getting a child and child's child process-id

6. Opinion - MS Attacks Free Speech!

7. Suse 6.3 locks up in X windows

8. smail failed to reap child process: No child processes

9. how to kill a child process that runs other children processes

10. Passing open file descriptors

11. passing an open file or socket descriptor

12. Using File descriptor 0 (stdin) in child process