int boz_connect_release(const boz_connect_t id) { boz_connect_internal_t *p=NULL; BOZ_CONNECT_EMPIRIC_BAD_ID_TEST p = GENSETDYN_P(boz_connect_internal_t, &boz_connect_g.storage, id); if(p->id != id) return (errno=ENOMSG,-1); bufalloc_free(&p->d_out); free(p->b_in); if(fcntl(p->params.fd, F_GETFD)>0) close(p->params.fd); p->b_in=0; (*p) = boz_connect_internal_zero; { iter_max_stuff_t stuff = { 0 }; gensetdyn_iter(&boz_connect_g.storage, iter_max, &stuff); boz_connect_g.max=stuff.max; } gensetdyn_delete(&boz_connect_g.storage, id); return (errno=0,0); }
void skaclient3_end (skaclient3_t_ref a) { skaclient_end(&a->sync) ; skaclientin_end(&a->asyncin) ; { register int e = errno ; fd_close(bufalloc_fd(&a->asyncout)) ; errno = e ; } bufalloc_free(&a->asyncout) ; }
void skaclient_free (skaclient_t_ref a) { bufalloc_free(&a->out) ; skaclientin_free(&a->in) ; *a = skaclient_zero ; }