aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/set/gnunet-set-bug.c29
1 files changed, 20 insertions, 9 deletions
diff --git a/src/set/gnunet-set-bug.c b/src/set/gnunet-set-bug.c
index 2a248e3f7..edcd8b561 100644
--- a/src/set/gnunet-set-bug.c
+++ b/src/set/gnunet-set-bug.c
@@ -32,6 +32,8 @@
32 32
33static struct GNUNET_PeerIdentity local_id; 33static struct GNUNET_PeerIdentity local_id;
34 34
35static struct GNUNET_CONFIGURATION_Handle *cfg;
36
35static struct GNUNET_STREAM_ListenSocket *listen_socket; 37static struct GNUNET_STREAM_ListenSocket *listen_socket;
36 38
37static struct GNUNET_STREAM_Socket *s1; 39static struct GNUNET_STREAM_Socket *s1;
@@ -45,6 +47,7 @@ do_shutdown (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
45 GNUNET_STREAM_close (s2); 47 GNUNET_STREAM_close (s2);
46 GNUNET_STREAM_close (s1); 48 GNUNET_STREAM_close (s1);
47 GNUNET_STREAM_listen_close (listen_socket); 49 GNUNET_STREAM_listen_close (listen_socket);
50 GNUNET_CONFIGURATION_destroy (cfg);
48} 51}
49 52
50static size_t 53static size_t
@@ -79,6 +82,18 @@ listen_cb (void *cls,
79static void 82static void
80open_cb (void *cls, struct GNUNET_STREAM_Socket *socket) 83open_cb (void *cls, struct GNUNET_STREAM_Socket *socket)
81{ 84{
85
86}
87
88static void
89stream_connect (void)
90{
91 s1 = GNUNET_STREAM_open (cfg,
92 &local_id,
93 GNUNET_APPLICATION_TYPE_SET,
94 &open_cb,
95 NULL,
96 GNUNET_STREAM_OPTION_END);
82} 97}
83 98
84/** 99/**
@@ -92,23 +107,19 @@ open_cb (void *cls, struct GNUNET_STREAM_Socket *socket)
92static void 107static void
93run (void *cls, char *const *args, 108run (void *cls, char *const *args,
94 const char *cfgfile, 109 const char *cfgfile,
95 const struct GNUNET_CONFIGURATION_Handle *cfg) 110 const struct GNUNET_CONFIGURATION_Handle *cfg2)
96{ 111{
97 112
113 cfg = GNUNET_CONFIGURATION_dup (cfg2);
98 GNUNET_CRYPTO_get_host_identity (cfg, &local_id); 114 GNUNET_CRYPTO_get_host_identity (cfg, &local_id);
99 115
100 listen_socket = GNUNET_STREAM_listen (cfg, 116 listen_socket = GNUNET_STREAM_listen (cfg,
101 GNUNET_APPLICATION_TYPE_SET, 117 GNUNET_APPLICATION_TYPE_SET,
102 &listen_cb, 118 &listen_cb,
103 NULL, 119 NULL,
104 NULL); 120 GNUNET_STREAM_OPTION_SIGNAL_LISTEN_SUCCESS,
105 121 &stream_connect,
106 s1 = GNUNET_STREAM_open (cfg, 122 GNUNET_STREAM_OPTION_END);
107 &local_id,
108 GNUNET_APPLICATION_TYPE_SET,
109 &open_cb,
110 NULL,
111 NULL);
112 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, 123 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL,
113 &do_shutdown, NULL); 124 &do_shutdown, NULL);
114} 125}