I've come up with the following BASIC OpenSSL client from the cli.cpp example and I am trying to turn it into a multi threaded application with pthreads. Each thread will open a brand new connection, it will not read off of the same connection, so it should not be any different. I've added the th-lock.c library into it before the threads are created and after they are destroyed, from the limited documentation I've found, that should cover everything. The only thing I have changed with the basic cli.cpp is that I am using non-blocking IO through SELECT/FD_ISSET. By doing this I have also added support for SSL_ERROR_WANT_READ, so that shouldn't be the issue. The problem I am seeing is within the select/FD_ISSET. My FD_ISSET is failing. (Enclosed below)
c = select(sockfd+900, &readfds, NULL, NULL, &tv); if (c < 0) { perror("SELECT"); fprintf(stderr, "Error with the select\n"); break; } if (!FD_ISSET(sockfd, &readfds)) { perror("Error"); fprintf(stderr,"Error with socket\n"); break; } Should I not be using this with OpenSSL and/or pthreads? Are there any known issues or can anyone shed some light onto the subject for me? Thanks in advance, Nick ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]