gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r20319 - gnunet/src/stream


From: gnunet
Subject: [GNUnet-SVN] r20319 - gnunet/src/stream
Date: Tue, 6 Mar 2012 19:42:58 +0100

Author: harsha
Date: 2012-03-06 19:42:58 +0100 (Tue, 06 Mar 2012)
New Revision: 20319

Modified:
   gnunet/src/stream/stream_api.c
Log:
-identify sockets deriving from lsocket

Modified: gnunet/src/stream/stream_api.c
===================================================================
--- gnunet/src/stream/stream_api.c      2012-03-06 18:04:47 UTC (rev 20318)
+++ gnunet/src/stream/stream_api.c      2012-03-06 18:42:58 UTC (rev 20319)
@@ -263,6 +263,11 @@
   unsigned int retries;
 
   /**
+   * Is this socket derived from listen socket?
+   */
+  unsigned int derived;
+  
+  /**
    * The application port number (type: uint32_t)
    */
   GNUNET_MESH_ApplicationType app_port;
@@ -1839,6 +1844,8 @@
   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,
@@ -2032,7 +2039,7 @@
     }
 
   /* Close mesh connection */
-  if (NULL != socket->mesh)
+  if (NULL != socket->mesh && GNUNET_YES != socket->derived)
     {
       GNUNET_MESH_disconnect (socket->mesh);
       socket->mesh = NULL;
@@ -2092,6 +2099,7 @@
 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);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]