Allow the server to listen on multiple TCP sockets --------------------------------------------------
Key: CORE-5219 URL: http://tracker.firebirdsql.org/browse/CORE-5219 Project: Firebird Core Issue Type: Improvement Affects Versions: 4.0 Initial Environment: any Reporter: Michal Kubeček Priority: Minor Currently, Firebird server can use only one listening TCP socket which can listen either on zero address (and accept connections to any of host's addresses) or on address specified by RemoteBindAddress directive. It cannot listen on a subset of addresses which becomes restricting with IPv6 support as we cannot let the server listen on e.g. :: and 127.0.0.1 without letting it accept connections to any address. I played with it a bit while working on IPv6 support and I came with two approaches: 1. Create a separate thread for each listening socket. The advantage is that it doesn't require many changes to the code; I had better overall feeling about the diff. However, I wasn't able to make it work; there were some conflicts which I didn't have time to fully debug at the time, I suspect the AsyncPacket handling but there might be more. 2. Put multiple sockets (or socket chains) into the same poll()/select() in one thread. I was able to work this one out to a patch that passed my tests but the code is a bit ugly and I'm not quite sure about its efficiency. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://tracker.firebirdsql.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------------ Find and fix application performance issues faster with Applications Manager Applications Manager provides deep performance insights into multiple tiers of your business applications. It resolves application problems quickly and reduces your MTTR. Get your free trial! https://ad.doubleclick.net/ddm/clk/302982198;130105516;z Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel