Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <419DFE72.3080405@palli.nl> Date: Fri, 19 Nov 2004 15:08:50 +0100 From: Ivo Palli User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.2) Gecko/20040803 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: 1.5.12: non-blocking connect fails: deprecated method Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Hi, I ran into a backward compatibility issue with Cygwin. When doing a non-blocking connect, you do a connect with a non-blocking fd, wait for the select() to report it back as writable, and then perform a getsockopt() to check the status of the fd. However in older code (including mine, I upgraded it now however) you will find that instead of calling getsockopt(), they will call connect again (exactly as the initial call). Connect in cygwin gives: Transport endpoint is already connected But Linux 2.4.22 will return 0 and accept the socket as connected. Since I fixed my code, it's not an issue for me. But other people might run into it. You might want to support the older behaviour also. Regards, Ivo Palli -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/