[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [gnunet] 59/64: master/slave pointers must not be NULL imme
From: |
gnunet |
Subject: |
[GNUnet-SVN] [gnunet] 59/64: master/slave pointers must not be NULL immediatly after sending leave request |
Date: |
Sat, 30 Dec 2017 20:58:44 +0100 |
This is an automated email from the git hooks/post-receive script.
lurchi pushed a commit to branch master
in repository gnunet.
commit af9ae1f37cbd418abd14f1fab0bb10210f68fefa
Author: lurchi <address@hidden>
AuthorDate: Sat Dec 30 18:44:03 2017 +0100
master/slave pointers must not be NULL immediatly after sending leave
request
---
src/psyc/gnunet-service-psyc.c | 16 ++++------------
1 file changed, 4 insertions(+), 12 deletions(-)
diff --git a/src/psyc/gnunet-service-psyc.c b/src/psyc/gnunet-service-psyc.c
index 8b5c69a65..740886423 100644
--- a/src/psyc/gnunet-service-psyc.c
+++ b/src/psyc/gnunet-service-psyc.c
@@ -279,7 +279,7 @@ struct Channel
* Is the client disconnected?
* #GNUNET_YES or #GNUNET_NO
*/
- uint8_t is_disconnected;
+ uint8_t is_disconnecting;
/**
* Is this a channel master (#GNUNET_YES), or slave (#GNUNET_NO)?
@@ -508,8 +508,6 @@ cleanup_master (struct Master *mst)
{
struct Channel *chn = &mst->channel;
- //if (NULL != mst->origin)
- // GNUNET_MULTICAST_origin_stop (mst->origin, cleanup_cb, cleanup_cls);
GNUNET_CONTAINER_multihashmap_destroy (mst->join_reqs);
GNUNET_CONTAINER_multihashmap_remove (masters, &chn->pub_key_hash, mst);
}
@@ -546,11 +544,6 @@ cleanup_slave (struct Slave *slv)
GNUNET_free (slv->relays);
slv->relays = NULL;
}
- //if (NULL != slv->member)
- //{
- // GNUNET_MULTICAST_member_part (slv->member, cleanup_cb, cleanup_cls);
- // slv->member = NULL;
- //}
GNUNET_CONTAINER_multihashmap_remove (slaves, &chn->pub_key_hash, slv);
}
@@ -646,7 +639,7 @@ client_notify_disconnect (void *cls,
chn,
(GNUNET_YES == chn->is_master) ? "master" : "slave",
GNUNET_h2s (&chn->pub_key_hash));
- chn->is_disconnected = GNUNET_YES;
+ chn->is_disconnecting = GNUNET_YES;
cleanup_channel (chn);
}
}
@@ -2052,6 +2045,7 @@ handle_client_part_request (void *cls,
{
struct Client *c = cls;
+ c->channel->is_disconnecting = GNUNET_YES;
if (GNUNET_YES == c->channel->is_master)
{
struct Master *mst = (struct Master *) c->channel;
@@ -2061,7 +2055,6 @@ handle_client_part_request (void *cls,
mst);
GNUNET_assert (NULL != mst->origin);
GNUNET_MULTICAST_origin_stop (mst->origin, channel_part_cb, c->client);
- mst->origin = NULL;
}
else
{
@@ -2072,7 +2065,6 @@ handle_client_part_request (void *cls,
slv);
GNUNET_assert (NULL != slv->member);
GNUNET_MULTICAST_member_part (slv->member, channel_part_cb, c->client);
- slv->member = NULL;
}
GNUNET_SERVICE_client_continue (c->client);
}
@@ -2137,7 +2129,7 @@ transmit_notify (void *cls, size_t *data_size, void *data)
{
GNUNET_SCHEDULER_add_now (&schedule_transmit_message, chn);
}
- else if (GNUNET_YES == chn->is_disconnected
+ else if (GNUNET_YES == chn->is_disconnecting
&& tmit_msg->last_ptype < GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_END)
{
/* FIXME: handle partial message (when still in_transmit) */
--
To stop receiving notification emails like this one, please contact
address@hidden
- [GNUnet-SVN] [gnunet] 24/64: changed log levels, (continued)
- [GNUnet-SVN] [gnunet] 24/64: changed log levels, gnunet, 2017/12/30
- [GNUnet-SVN] [gnunet] 42/64: added logging, gnunet, 2017/12/30
- [GNUnet-SVN] [gnunet] 54/64: test_social: less services and less noise in the output, gnunet, 2017/12/30
- [GNUnet-SVN] [gnunet] 34/64: introduce part request / part ack messages (for leaving multicast groups) and related fixes, gnunet, 2017/12/30
- [GNUnet-SVN] [gnunet] 43/64: fixed compile error, gnunet, 2017/12/30
- [GNUnet-SVN] [gnunet] 29/64: use comfort functions of MQ API, gnunet, 2017/12/30
- [GNUnet-SVN] [gnunet] 30/64: Introduce PART/PART_ACK messages (tests will fail until multicast module is adapted, too), gnunet, 2017/12/30
- [GNUnet-SVN] [gnunet] 22/64: protocol change: add ack message for guests/hosts leaving a place, gnunet, 2017/12/30
- [GNUnet-SVN] [gnunet] 44/64: tried to print out stacktrace, not working. removed., gnunet, 2017/12/30
- [GNUnet-SVN] [gnunet] 50/64: remove debug assertion; add debug output, gnunet, 2017/12/30
- [GNUnet-SVN] [gnunet] 59/64: master/slave pointers must not be NULL immediatly after sending leave request,
gnunet <=
- [GNUnet-SVN] [gnunet] 58/64: fixing the place leave logic after protocol change, gnunet, 2017/12/30
- [GNUnet-SVN] [gnunet] 55/64: test_psyc: less services and less noise in the output, gnunet, 2017/12/30
- [GNUnet-SVN] [gnunet] 60/64: actually test reconnecting; result in enter callback must always be GNUNET_OK, gnunet, 2017/12/30
- [GNUnet-SVN] [gnunet] 56/64: result is a boolean; stylistic changes, gnunet, 2017/12/30
- [GNUnet-SVN] [gnunet] 52/64: stylistic fix, gnunet, 2017/12/30
- [GNUnet-SVN] [gnunet] 61/64: consider entry decision while re-entering a place, gnunet, 2017/12/30
- [GNUnet-SVN] [gnunet] 27/64: Use MQ API instead of manually allocating messages; simplify logic in handle_client_psyc_message; cleanup, gnunet, 2017/12/30
- [GNUnet-SVN] [gnunet] 45/64: actually use the is_disconnecting flag; debug output; remove dead code, gnunet, 2017/12/30
- [GNUnet-SVN] [gnunet] 46/64: don't shutdown before all members and origin have disconnected, gnunet, 2017/12/30
- [GNUnet-SVN] [gnunet] 38/64: Merge branch 'fix_social' of gnunet.org:gnunet into fix_social, gnunet, 2017/12/30