eaddrinuse

Sean Hinde <>
Fri Apr 29 15:25:24 CEST 2005


>
> I believe the duplicate bindings (i.e. to the same IP address and  
> port) are *only* possible for UDP multicast binds.  TCP doesn't  
> support this and should always fail with eaddrinuse if another process  
> is active and is bound to that socket.  UDP non-multicast binds with  
> {reuseaddr, true} will allow you to "steal" a socket from another  
> process (without that process knowing about it), yet the kernel will  
> only deliver UDP messages to the latest process that bound the UDP  
> socket.

Not entirely true. For UDP it is possible to dup the UDP file  
descriptor into several UNIX processes and the OS will send UDP  
datagrams to any of them.

Relevant stuff here:

http://forums.trapexit.org:81/phpBB/viewtopic.php? 
t=3250&postdays=0&postorder=asc&highlight=file+descriptor&start=15


Sean




More information about the erlang-questions mailing list