[omniORB] socket reusing
Sai-Lai Lo
S.Lo@uk.research.att.com
27 Jul 2000 10:31:04 +0100
SO_REUSEADDR is only used when the application explicitly asked the ORB to
use a particular port number.
Suppose a server is set to use a particular port all the time. If the
server dies and without SO_REUSEADDR, you cannot restart the server
immediately because the kernel will have to wait for the tcp timers to
expire.
Sai-Lai
>>>>> Renzo Tomaselli writes:
> I'm somewhat curious to know the reason behind the choice of using the
> SO_REUSEADDR option in OmniORB socket handling.
> We sometimes find ourselves in trouble because the same port is used by
> multiple processes on a single host and they don't know about each other;
> even worse, they can be any TCP/IP application. This occurs whenever the
> port must be specified manually because some persistent object must be
> created (e.g. persistent IOR). This way communications fail (typically
> callbacks) in a strange way instead of a friendly "address already in use"
> errno and this failure is very hard to track down when the third application
> (even a service on NT) is hidden.
> Thanks for any clarification,
--
Sai-Lai Lo S.Lo@uk.research.att.com
AT&T Laboratories Cambridge WWW: http://www.uk.research.att.com
24a Trumpington Street Tel: +44 1223 343000
Cambridge CB2 1QA Fax: +44 1223 313542
ENGLAND