blob: bd8668ffcab77e72a65bf2b5c45ce56dcb4f72bb (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
/* See LICENSE file for copyright and license details. */
#include "common.h"
/**
* Release all resources allocated to a `libcoopgamma_context_t`,
* the allocation of the record itself is not freed
*
* Always call this function after failed call to `libcoopgamma_context_initialise`
* or failed call to `libcoopgamma_context_unmarshal`
*
* @param this The record to destroy
* @param disconnect Disconnect from the server?
*/
void
libcoopgamma_context_destroy(libcoopgamma_context_t *restrict this, int disconnect)
{
if (disconnect && this->fd >= 0) {
shutdown(this->fd, SHUT_RDWR);
close(this->fd);
}
this->fd = -1;
libcoopgamma_error_destroy(&this->error);
free(this->outbound);
free(this->inbound);
this->outbound = NULL;
this->inbound = NULL;
}
|