ss->ssl3 && (ss->ssl3->hs.ws != idle_handshake))) {
ss->ssl3.initialized && (ss->ssl3.hs.ws != idle_handshake))) {
ssl3_RedoHandshake(sslSocket *ss, PRBool flushCache){    sslSessionID *   sid = ss->sec.ci.sid;    SECStatus        rv;    PORT_Assert( ssl_HaveSSL3HandshakeLock(ss) );    if (!ss->firstHsDone ||        ((ss->version >= SSL_LIBRARY_VERSION_3_0) &&	 ss->ssl3 && (ss->ssl3->hs.ws != idle_handshake))) {	PORT_SetError(SSL_ERROR_HANDSHAKE_NOT_COMPLETED);	return SECFailure;    }    if (sid && flushCache) {	ss->sec.uncache(sid);	/* remove it from whichever cache it's in. */	ssl_FreeSID(sid);	/* dec ref count and free if zero. */	ss->sec.ci.sid = NULL;    }    ssl_GetXmitBufLock(ss);	/**************************************/    /* start off a new handshake. */    rv = (ss->sec.isServer) ? ssl3_SendHelloRequest(ss)                            : ssl3_SendClientHello(ss);    ssl_ReleaseXmitBufLock(ss);	/**************************************/    return rv;}