aboutsummaryrefslogtreecommitdiff
path: root/src/util/client.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2015-05-29 13:06:33 +0000
committerChristian Grothoff <christian@grothoff.org>2015-05-29 13:06:33 +0000
commitcfd880578bd21f9adedba557291c903d325e93cd (patch)
tree3f9c7459127646523b58905e345f290867f619f6 /src/util/client.c
parent3e558d2e9f22c96328d27e5cd35a5da3866e3543 (diff)
downloadgnunet-cfd880578bd21f9adedba557291c903d325e93cd.tar.gz
gnunet-cfd880578bd21f9adedba557291c903d325e93cd.zip
fixing #3799: only unindex if DB operations succeeded previously in the first place, and when unindexing do proper shutdown handling
Diffstat (limited to 'src/util/client.c')
-rw-r--r--src/util/client.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/util/client.c b/src/util/client.c
index 46bb6a86b..ad48c31a8 100644
--- a/src/util/client.c
+++ b/src/util/client.c
@@ -70,7 +70,7 @@ struct GNUNET_CLIENT_TransmitHandle
70 * If we are re-trying and are delaying to do so, 70 * If we are re-trying and are delaying to do so,
71 * handle to the scheduled task managing the delay. 71 * handle to the scheduled task managing the delay.
72 */ 72 */
73 struct GNUNET_SCHEDULER_Task * reconnect_task; 73 struct GNUNET_SCHEDULER_Task *reconnect_task;
74 74
75 /** 75 /**
76 * Timeout for the operation overall. 76 * Timeout for the operation overall.
@@ -1108,6 +1108,7 @@ client_delayed_retry (void *cls,
1108 "Transmission failed %u times, trying again in %s.\n", 1108 "Transmission failed %u times, trying again in %s.\n",
1109 MAX_ATTEMPTS - th->attempts_left, 1109 MAX_ATTEMPTS - th->attempts_left,
1110 GNUNET_STRINGS_relative_time_to_string (delay, GNUNET_YES)); 1110 GNUNET_STRINGS_relative_time_to_string (delay, GNUNET_YES));
1111 GNUNET_assert (NULL == th->th);
1111 GNUNET_assert (NULL == th->reconnect_task); 1112 GNUNET_assert (NULL == th->reconnect_task);
1112 th->reconnect_task = 1113 th->reconnect_task =
1113 GNUNET_SCHEDULER_add_delayed (delay, &client_delayed_retry, th); 1114 GNUNET_SCHEDULER_add_delayed (delay, &client_delayed_retry, th);
@@ -1191,6 +1192,7 @@ client_notify (void *cls,
1191 GNUNET_STRINGS_relative_time_to_string (delay, GNUNET_YES)); 1192 GNUNET_STRINGS_relative_time_to_string (delay, GNUNET_YES));
1192 client->th = th; 1193 client->th = th;
1193 GNUNET_assert (NULL == th->reconnect_task); 1194 GNUNET_assert (NULL == th->reconnect_task);
1195 GNUNET_assert (NULL == th->th);
1194 th->reconnect_task = 1196 th->reconnect_task =
1195 GNUNET_SCHEDULER_add_delayed (delay, &client_delayed_retry, th); 1197 GNUNET_SCHEDULER_add_delayed (delay, &client_delayed_retry, th);
1196 return 0; 1198 return 0;
@@ -1259,6 +1261,7 @@ GNUNET_CLIENT_notify_transmit_ready (struct GNUNET_CLIENT_Connection *client,
1259 client->th = th; 1261 client->th = th;
1260 if (NULL == client->connection) 1262 if (NULL == client->connection)
1261 { 1263 {
1264 GNUNET_assert (NULL == th->th);
1262 GNUNET_assert (NULL == th->reconnect_task); 1265 GNUNET_assert (NULL == th->reconnect_task);
1263 th->reconnect_task = 1266 th->reconnect_task =
1264 GNUNET_SCHEDULER_add_delayed (client->back_off, 1267 GNUNET_SCHEDULER_add_delayed (client->back_off,