$&openvista.gtmserver() child processes should not inherit listener socket

Bug #683878 reported by Jon Tai on 2010-12-01
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenVista/GT.M Integration
Undecided
Unassigned

Bug Description

Child processes spawned by $&openvista.gtmserver() are only supposed to inherit the connected socket -- that is all they need to service the incoming connection.

In the current implementation, both the connected and the listener socket are inherited by the child. This can be observed with "lsof -i". The parent process still has the socket and services new incoming requests, so the effects are not immediately obvious. However, if the parent is killed while a child is active, the listener socket will pass to the child, and the parent process cannot be restarted until the child has exited because Linux thinks the port is still in use. This causes operational problems when trying to restart the RPC broker -- connections must be halted before the RPC broker can be restarted.

We should ensure that the child closes the listener socket before servicing the connection.

Related branches

Jon Tai (jontai) on 2010-12-01
Changed in openvista-gtm-integration:
status: New → Fix Committed
Jon Tai (jontai) on 2010-12-07
Changed in openvista-gtm-integration:
milestone: none → 0.8.11
Jon Tai (jontai) on 2010-12-07
Changed in openvista-gtm-integration:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers