rem: runner->Stop();
add: runner->Stop(true);
context: IMAP4Client::ReceiveLine(BString &out){	if (net < 0)		return net;			uint8 c = 0;	int32 len = 0,r;	out = "";		struct timeval tv;	struct fd_set fds; 	tv.tv_sec = long(kIMAP4ClientTimeout / 1e6); 	tv.tv_usec = long(kIMAP4ClientTimeout-(tv.tv_sec * 1e6)); 		/* Initialize (clear) the socket mask. */ 	FD_ZERO(&fds);		/* Set the socket in the mask. */ 	FD_SET(net, &fds);	int result;#ifdef USESSL	if ((use_ssl) && (SSL_pending(ssl)))		result = 1;	else#endif		result = select(32, &fds, NULL, NULL, &tv);		if (result < 0)		return errno;		if(result > 0)	{		while(c != '\n' && c != xEOF)		{		  #ifdef USESSL			if (use_ssl)				r = SSL_read(ssl,&c,1);			else		  #endif				r = recv(net,&c,1,0);			if(r <= 0) {				BString error;					error << "Connection to " << settings->FindString("server") << " lost.";			#ifdef USESSL				if (use_ssl) {					if (ssl)						SSL_shutdown(ssl);					if (ctx)						SSL_CTX_free(ctx);				}			#endif			#ifdef BONE				close(net);			#else				closesocket(net);			#endif				net = -1;				runner->Stop();				runner->ShowError(error.String());				return -1;			}				out += (char)c;			len += r;		}	}else{		// Log an error somewhere instead		runner->Stop();		runner->ShowError("IMAP Timeout.");		return B_TIMED_OUT;	}	PRINT(("S:%s\n",out.String()));	return len;}