*/
unsigned int retries;
+ /**
+ * Is this socket derived from listen socket?
+ */
+ unsigned int derived;
+
/**
* The application port number (type: uint32_t)
*/
socket->session_id = 0; /* FIXME */
socket->other_peer = *initiator;
socket->state = STATE_INIT;
+ socket->derived = GNUNET_YES;
+
/* FIXME: Copy MESH handle from lsocket to socket */
if (GNUNET_SYSERR == lsocket->listen_cb (lsocket->listen_cb_cls,
}
/* Close mesh connection */
- if (NULL != socket->mesh)
+ if (NULL != socket->mesh && GNUNET_YES != socket->derived)
{
GNUNET_MESH_disconnect (socket->mesh);
socket->mesh = NULL;
GNUNET_STREAM_listen_close (struct GNUNET_STREAM_ListenSocket *lsocket)
{
/* Close MESH connection */
+ GNUNET_assert (NULL != lsocket->mesh);
GNUNET_MESH_disconnect (lsocket->mesh);
GNUNET_free (lsocket);