sigset_t origmask;
SOCTYP *soc;
-status=-1;
+status=-2;
soc=(SOCTYP *)socptr;
-if (soc!=(SOCTYP *)0) {
+if ((soc!=(SOCTYP *)0)&&(isconnected(soc)==true)) {
struct pollfd polling[1];
polling[0].events=POLLIN|POLLPRI|POLLHUP;
break;
case 1 : //polling early return (data or event)
(void) rou_alert(0,"%s JMPDBG Polling return",OPEP);
- status=-2; //wlets say it is disconnected
- if (isconnected(soc)==true)
- status=soc_receive(socptr);
- (void) rou_alert(0,"%s JMPDBG Polling return new status='%d'",OPEP,status);
break;
default :
break;
soc->tls=tls_opentls(soc->handle,true);
break;
case false :
- (void) rou_alert(0,"%s JMPDBG starting cleint mode",OPEP);
+ soc->tls=tls_opentls(soc->handle,false);
+ (void) rou_alert(0,"%s JMPDBG starting client mode",OPEP);
break;
}
if (soc->tls!=(TLSTYP *)0) {
switch (server) {
case false : //mode client
(void) rou_alert(0,"%s JMPDBG should be in client mode",OPEP);
+ (void) SSL_set_connect_state(tls->ssl);
break;
case true : //mode server
(void) SSL_set_accept_state(tls->ssl);