v0.5.xx
Alexander Vdolainen 9 years ago
parent dc6a9781cd
commit bb28ee9a63

@ -466,22 +466,25 @@ static void __connection_destroy(conn_t *co)
}
pthread_mutex_unlock(&co->idx_msg_lock);
/* ok now we will free the channels */
pthread_mutex_lock(&co->idx_ch_lock);
for(i = 0; i < 512; i++) {
chan = co->channels[i];
if(!chan) continue;
idx_free(&co->idx_ch, i);
free(chan);
}
pthread_mutex_unlock(&co->idx_ch_lock);
/* update use count */
_CONN_NOTINUSE(co);
/* ok, let's free other if we can */
if(!_CONN_UCOUNT(co)) {
/* ok now we will free the channels */
pthread_mutex_lock(&co->idx_ch_lock);
for(i = 0; i < 512; i++) {
chan = co->channels[i];
if(!chan) continue;
idx_free(&co->idx_ch, i);
free(chan);
}
pthread_mutex_unlock(&co->idx_ch_lock);
if(ssys->on_destroy) ssys->on_destroy(co);
if(co->pctx->login) free(co->pctx->login);
if(co->pctx->passwd) free(co->pctx->passwd);
SSL_shutdown(co->ssl);
close(SSL_get_fd(co->ssl));
SSL_free(co->ssl);

@ -170,24 +170,13 @@ static void sigpipe_handler(int a)
int main(int argc, char **argv)
{
// set detailed signal handler
// struct sigaction sigact, sigpipe;
// sigact.sa_flags = SA_SIGINFO;
// sigact.sa_sigaction = signal_error;
// sigemptyset(&sigact.sa_mask);
// sigaction(SIGFPE, &sigact, 0);
// sigaction(SIGILL, &sigact, 0);
// sigaction(SIGSEGV, &sigact, 0);
// sigaction(SIGBUS, &sigact, 0);
// memset(&sigpipe, 0, sizeof(struct sigaction));
// sigpipe.sa_handler = sigpipe_handler;
// sigaction(SIGPIPE, &sigpipe, NULL);
char *rootca = NULL, *cert = NULL;
conn_sys_t *ssys = connections_create();
int port = DEFAULT_PORT;
int opt;
signal(SIGPIPE, SIG_IGN);
while((opt = getopt(argc, argv, "p:r:u:")) != -1) {
switch(opt) {
case 'p':

Loading…
Cancel
Save