aboutsummaryrefslogtreecommitdiff
path: root/src/transport/gnunet-communicator-unix.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2018-11-15 14:08:31 +0100
committerChristian Grothoff <christian@grothoff.org>2018-11-15 14:08:31 +0100
commitc359c3f7d928abf47a0c29d735bb7e30fb55e4dc (patch)
tree9cfb8ebf2deafb06503ebb0b2d160c8851dfb3bb /src/transport/gnunet-communicator-unix.c
parent478a4c062b7d12b5d75d10667aa7739bd15b6405 (diff)
downloadgnunet-c359c3f7d928abf47a0c29d735bb7e30fb55e4dc.tar.gz
gnunet-c359c3f7d928abf47a0c29d735bb7e30fb55e4dc.zip
fix double-read task in communicator-unix
Diffstat (limited to 'src/transport/gnunet-communicator-unix.c')
-rw-r--r--src/transport/gnunet-communicator-unix.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/transport/gnunet-communicator-unix.c b/src/transport/gnunet-communicator-unix.c
index cd3ae5dce..b2eebbe20 100644
--- a/src/transport/gnunet-communicator-unix.c
+++ b/src/transport/gnunet-communicator-unix.c
@@ -533,6 +533,7 @@ mq_send (struct GNUNET_MQ_Handle *mq,
533 GNUNET_CONTAINER_DLL_insert (queue_head, 533 GNUNET_CONTAINER_DLL_insert (queue_head,
534 queue_tail, 534 queue_tail,
535 queue); 535 queue);
536 GNUNET_assert (NULL != unix_sock);
536 if (NULL == write_task) 537 if (NULL == write_task)
537 write_task = 538 write_task =
538 GNUNET_SCHEDULER_add_write_net (GNUNET_TIME_UNIT_FOREVER_REL, 539 GNUNET_SCHEDULER_add_write_net (GNUNET_TIME_UNIT_FOREVER_REL,
@@ -708,6 +709,7 @@ receive_complete_cb (void *cls,
708 "# transport transmission failures", 709 "# transport transmission failures",
709 1, 710 1,
710 GNUNET_NO); 711 GNUNET_NO);
712 GNUNET_assert (NULL != unix_sock);
711 if ( (NULL == read_task) && 713 if ( (NULL == read_task) &&
712 (delivering_messages < max_queue_length) ) 714 (delivering_messages < max_queue_length) )
713 read_task = GNUNET_SCHEDULER_add_read_net (GNUNET_TIME_UNIT_FOREVER_REL, 715 read_task = GNUNET_SCHEDULER_add_read_net (GNUNET_TIME_UNIT_FOREVER_REL,
@@ -735,6 +737,7 @@ select_read_cb (void *cls)
735 ssize_t ret; 737 ssize_t ret;
736 uint16_t msize; 738 uint16_t msize;
737 739
740 GNUNET_assert (NULL != unix_sock);
738 read_task = GNUNET_SCHEDULER_add_read_net (GNUNET_TIME_UNIT_FOREVER_REL, 741 read_task = GNUNET_SCHEDULER_add_read_net (GNUNET_TIME_UNIT_FOREVER_REL,
739 unix_sock, 742 unix_sock,
740 &select_read_cb, 743 &select_read_cb,
@@ -1083,16 +1086,12 @@ run (void *cls,
1083 "%s-%s", 1086 "%s-%s",
1084 COMMUNICATOR_ADDRESS_PREFIX, 1087 COMMUNICATOR_ADDRESS_PREFIX,
1085 unix_socket_path); 1088 unix_socket_path);
1089 GNUNET_free (unix_socket_path);
1086 ai = GNUNET_TRANSPORT_communicator_address_add (ch, 1090 ai = GNUNET_TRANSPORT_communicator_address_add (ch,
1087 my_addr, 1091 my_addr,
1088 GNUNET_ATS_NET_LOOPBACK, 1092 GNUNET_ATS_NET_LOOPBACK,
1089 GNUNET_TIME_UNIT_FOREVER_REL); 1093 GNUNET_TIME_UNIT_FOREVER_REL);
1090 GNUNET_free (my_addr); 1094 GNUNET_free (my_addr);
1091 GNUNET_free (unix_socket_path);
1092 read_task = GNUNET_SCHEDULER_add_read_net (GNUNET_TIME_UNIT_FOREVER_REL,
1093 unix_sock,
1094 &select_read_cb,
1095 NULL);
1096} 1095}
1097 1096
1098 1097