From: Russell M. <rmc...@vi...> - 2006-01-20 22:53:47
|
All, Not sure if I found a bug, or I am really confused on how to setup the address descriptors before I attempt to open a passive listening socket. If any one has an idea, pppppppplllllllllleeeeease let me know.. Here is the scenario: I have taken the ttcp_atm utility and cut it down to simply be a listen server, though you can get these results easy enough by just running the utility twice with the 'ttcp_atm -r -a' options from two telnet sessions or similar. The second socket that is opened will be denied by the ATM signaling daemon as 'address already in use'. Alternatively you can connect the first socket so that the listening state has changed to a 'connect' state, and the same error will still prevail. This is odd, because I am attempting to open up two NULL local sockets, so I assume that according to the documentation, i.e. the Linux ATM API 0.4, that if you define the atmsvc public and private addresses as NULL then you should be able to achieve a 'wildcard' local address, and thus open multiple sockets for listening. I have dug deep in into the signaling daemon code, and found the error to be reported inside the proto.c file within the lookup_sap() function. After adding various debug outputs, it looks like when the 2nd socket is told to start listening, that for some reason this lookup_sap() returns false by testing the first sockets address, and fails when it sees its in use. However, I cannot see any correlation in the code between socket1 and socket2. Looks like it never gets far enough to compare them. Has anyone else seen any similar symptoms? -Russ |