gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r27012 - gnunet/src/set


From: gnunet
Subject: [GNUnet-SVN] r27012 - gnunet/src/set
Date: Tue, 30 Apr 2013 15:10:15 +0200

Author: harsha
Date: 2013-04-30 15:10:15 +0200 (Tue, 30 Apr 2013)
New Revision: 27012

Modified:
   gnunet/src/set/gnunet-set-bug.c
Log:
- have shutdown task

Modified: gnunet/src/set/gnunet-set-bug.c
===================================================================
--- gnunet/src/set/gnunet-set-bug.c     2013-04-30 12:19:35 UTC (rev 27011)
+++ gnunet/src/set/gnunet-set-bug.c     2013-04-30 13:10:15 UTC (rev 27012)
@@ -36,7 +36,16 @@
 
 static struct GNUNET_STREAM_Socket *s1;
 
+static struct GNUNET_STREAM_Socket *s2;
 
+static void
+do_shutdown (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
+{
+  if (NULL != s2)
+    GNUNET_STREAM_close (s2);
+  GNUNET_STREAM_close (s1);
+  GNUNET_STREAM_listen_close (listen_socket);
+}
 
 static size_t
 stream_data_processor (void *cls,
@@ -53,7 +62,7 @@
            const struct 
            GNUNET_PeerIdentity *initiator)
 {
-  if (NULL == socket)
+  if (NULL == (s2 = socket))
   {
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "socket listen failed\n");
     return GNUNET_NO;
@@ -63,7 +72,7 @@
   GNUNET_assert (NULL != socket);
   GNUNET_assert (0 == memcmp (initiator, &local_id, sizeof (*initiator)));
   GNUNET_STREAM_read (socket, GNUNET_TIME_UNIT_FOREVER_REL, 
-                      stream_data_processor, NULL);
+                      &stream_data_processor, NULL);
   return GNUNET_YES;
 }
 
@@ -90,16 +99,18 @@
 
   listen_socket = GNUNET_STREAM_listen (cfg,
                                         GNUNET_APPLICATION_TYPE_SET,
-                                        listen_cb,
+                                        &listen_cb,
                                         NULL,
                                         NULL);
 
   s1 = GNUNET_STREAM_open (cfg,
                            &local_id,
                            GNUNET_APPLICATION_TYPE_SET,
-                           open_cb,
+                           &open_cb,
                            NULL,
                            NULL);
+  GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL,
+                                &do_shutdown, NULL);
 }
 
 




reply via email to

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