aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/arm/gnunet-service-manager.c25
-rw-r--r--src/fs/gnunet-service-fs.c50
-rw-r--r--src/topology/gnunet-daemon-topology.c9
-rw-r--r--src/util/peer.c23
4 files changed, 62 insertions, 45 deletions
diff --git a/src/arm/gnunet-service-manager.c b/src/arm/gnunet-service-manager.c
index 457600c57..931d04790 100644
--- a/src/arm/gnunet-service-manager.c
+++ b/src/arm/gnunet-service-manager.c
@@ -591,7 +591,8 @@ void stop_listening (const char *serviceName)
591 (strcmp (pos->serviceName, serviceName) != 0) ) 591 (strcmp (pos->serviceName, serviceName) != 0) )
592 continue; 592 continue;
593 GNUNET_SCHEDULER_cancel (scheduler, pos->acceptTask); 593 GNUNET_SCHEDULER_cancel (scheduler, pos->acceptTask);
594 GNUNET_NETWORK_socket_close (pos->listeningSocket); 594 GNUNET_break (GNUNET_OK ==
595 GNUNET_NETWORK_socket_close (pos->listeningSocket));
595 GNUNET_CONTAINER_DLL_remove (serviceListeningInfoList_head, 596 GNUNET_CONTAINER_DLL_remove (serviceListeningInfoList_head,
596 serviceListeningInfoList_tail, 597 serviceListeningInfoList_tail,
597 pos); 598 pos);
@@ -641,7 +642,8 @@ acceptConnection (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
641 serviceListeningInfo); 642 serviceListeningInfo);
642 return; 643 return;
643 } 644 }
644 GNUNET_NETWORK_socket_close (serviceListeningInfo->listeningSocket); 645 GNUNET_break (GNUNET_OK ==
646 GNUNET_NETWORK_socket_close (serviceListeningInfo->listeningSocket));
645 GNUNET_CONTAINER_DLL_remove (serviceListeningInfoList_head, 647 GNUNET_CONTAINER_DLL_remove (serviceListeningInfoList_head,
646 serviceListeningInfoList_tail, 648 serviceListeningInfoList_tail,
647 serviceListeningInfo); 649 serviceListeningInfo);
@@ -712,6 +714,7 @@ createListeningSocket (struct sockaddr *sa,
712 serviceName, 714 serviceName,
713 GNUNET_a2s (sa, addr_len), 715 GNUNET_a2s (sa, addr_len),
714 STRERROR (errno)); 716 STRERROR (errno));
717 GNUNET_break (GNUNET_OK == GNUNET_NETWORK_socket_close (sock));
715 GNUNET_free (sa); 718 GNUNET_free (sa);
716 return; 719 return;
717 } 720 }
@@ -719,7 +722,7 @@ createListeningSocket (struct sockaddr *sa,
719 { 722 {
720 GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, 723 GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR,
721 "listen"); 724 "listen");
722 GNUNET_NETWORK_socket_close (sock); 725 GNUNET_break (GNUNET_OK == GNUNET_NETWORK_socket_close (sock));
723 GNUNET_free (sa); 726 GNUNET_free (sa);
724 return; 727 return;
725 } 728 }
@@ -794,14 +797,18 @@ prepareServices (const struct GNUNET_CONFIGURATION_Handle
794 scheduler = sched; 797 scheduler = sched;
795 cfg = configurationHandle; 798 cfg = configurationHandle;
796 /* Split the default services into a list */ 799 /* Split the default services into a list */
797 GNUNET_CONFIGURATION_get_value_string (cfg, "arm", "DEFAULTSERVICES", 800 if (GNUNET_OK ==
798 &defaultServicesString); 801 GNUNET_CONFIGURATION_get_value_string (cfg, "arm", "DEFAULTSERVICES",
799 addDefaultServicesToList (defaultServicesString); 802 &defaultServicesString))
800 GNUNET_free (defaultServicesString); 803 {
804 addDefaultServicesToList (defaultServicesString);
805 GNUNET_free (defaultServicesString);
801#if DEBUG_SERVICE_MANAGER 806#if DEBUG_SERVICE_MANAGER
802 printDefaultServicesList (); 807 printDefaultServicesList ();
803#endif 808#endif
804 /* Spot the services from the configuration and create a listening socket for each */ 809 }
810 /* Spot the services from the configuration and create a listening
811 socket for each */
805 GNUNET_CONFIGURATION_iterate (cfg, &checkPortNumberCB, NULL); 812 GNUNET_CONFIGURATION_iterate (cfg, &checkPortNumberCB, NULL);
806} 813}
807 814
diff --git a/src/fs/gnunet-service-fs.c b/src/fs/gnunet-service-fs.c
index 84a4f1d65..42dd2d23b 100644
--- a/src/fs/gnunet-service-fs.c
+++ b/src/fs/gnunet-service-fs.c
@@ -769,10 +769,11 @@ peer_connect_handler (void *cls,
769 769
770 cp = GNUNET_malloc (sizeof (struct ConnectedPeer)); 770 cp = GNUNET_malloc (sizeof (struct ConnectedPeer));
771 cp->pid = GNUNET_PEER_intern (peer); 771 cp->pid = GNUNET_PEER_intern (peer);
772 GNUNET_CONTAINER_multihashmap_put (connected_peers, 772 GNUNET_break (GNUNET_OK ==
773 &peer->hashPubKey, 773 GNUNET_CONTAINER_multihashmap_put (connected_peers,
774 cp, 774 &peer->hashPubKey,
775 GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY); 775 cp,
776 GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY));
776} 777}
777 778
778 779
@@ -792,9 +793,10 @@ destroy_request (void *cls,
792 const struct GNUNET_PeerIdentity * peer = cls; 793 const struct GNUNET_PeerIdentity * peer = cls;
793 struct PendingRequest *pr = value; 794 struct PendingRequest *pr = value;
794 795
795 GNUNET_CONTAINER_multihashmap_remove (peer_request_map, 796 GNUNET_break (GNUNET_YES ==
796 &peer->hashPubKey, 797 GNUNET_CONTAINER_multihashmap_remove (peer_request_map,
797 pr); 798 &peer->hashPubKey,
799 pr));
798 destroy_pending_request (pr); 800 destroy_pending_request (pr);
799 return GNUNET_YES; 801 return GNUNET_YES;
800} 802}
@@ -831,9 +833,10 @@ peer_disconnect_handler (void *cls,
831 cp->last_client_replies[i] = NULL; 833 cp->last_client_replies[i] = NULL;
832 } 834 }
833 } 835 }
834 GNUNET_CONTAINER_multihashmap_remove (connected_peers, 836 GNUNET_break (GNUNET_YES ==
835 &peer->hashPubKey, 837 GNUNET_CONTAINER_multihashmap_remove (connected_peers,
836 cp); 838 &peer->hashPubKey,
839 cp));
837 GNUNET_PEER_change_rc (cp->pid, -1); 840 GNUNET_PEER_change_rc (cp->pid, -1);
838 GNUNET_PEER_decrement_rcs (cp->last_p2p_replies, P2P_SUCCESS_LIST_SIZE); 841 GNUNET_PEER_decrement_rcs (cp->last_p2p_replies, P2P_SUCCESS_LIST_SIZE);
839 if (NULL != cp->cth) 842 if (NULL != cp->cth)
@@ -2588,14 +2591,16 @@ handle_p2p_get (void *cls,
2588 } 2591 }
2589 2592
2590 pr->cp = cp; 2593 pr->cp = cp;
2591 GNUNET_CONTAINER_multihashmap_put (query_request_map, 2594 GNUNET_break (GNUNET_OK ==
2592 &gm->query, 2595 GNUNET_CONTAINER_multihashmap_put (query_request_map,
2593 pr, 2596 &gm->query,
2594 GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE); 2597 pr,
2595 GNUNET_CONTAINER_multihashmap_put (peer_request_map, 2598 GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE));
2596 &other->hashPubKey, 2599 GNUNET_break (GNUNET_OK ==
2597 pr, 2600 GNUNET_CONTAINER_multihashmap_put (peer_request_map,
2598 GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE); 2601 &other->hashPubKey,
2602 pr,
2603 GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE));
2599 2604
2600 pr->hnode = GNUNET_CONTAINER_heap_insert (requests_by_expiration_heap, 2605 pr->hnode = GNUNET_CONTAINER_heap_insert (requests_by_expiration_heap,
2601 pr, 2606 pr,
@@ -2810,10 +2815,11 @@ handle_start_search (void *cls,
2810 default: 2815 default:
2811 break; 2816 break;
2812 } 2817 }
2813 GNUNET_CONTAINER_multihashmap_put (query_request_map, 2818 GNUNET_break (GNUNET_OK ==
2814 &sm->query, 2819 GNUNET_CONTAINER_multihashmap_put (query_request_map,
2815 pr, 2820 &sm->query,
2816 GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE); 2821 pr,
2822 GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE));
2817 if (type == GNUNET_BLOCK_TYPE_DBLOCK) 2823 if (type == GNUNET_BLOCK_TYPE_DBLOCK)
2818 type = GNUNET_BLOCK_TYPE_ANY; /* get on-demand blocks too! */ 2824 type = GNUNET_BLOCK_TYPE_ANY; /* get on-demand blocks too! */
2819 pr->drq = GNUNET_FS_drq_get (&sm->query, 2825 pr->drq = GNUNET_FS_drq_get (&sm->query,
diff --git a/src/topology/gnunet-daemon-topology.c b/src/topology/gnunet-daemon-topology.c
index e827fad2c..cfe1a66e8 100644
--- a/src/topology/gnunet-daemon-topology.c
+++ b/src/topology/gnunet-daemon-topology.c
@@ -492,10 +492,11 @@ make_peer (const struct
492 memcpy (ret->hello, hello, 492 memcpy (ret->hello, hello,
493 GNUNET_HELLO_size (hello)); 493 GNUNET_HELLO_size (hello));
494 } 494 }
495 GNUNET_CONTAINER_multihashmap_put (peers, 495 GNUNET_break (GNUNET_OK ==
496 &peer->hashPubKey, 496 GNUNET_CONTAINER_multihashmap_put (peers,
497 ret, 497 &peer->hashPubKey,
498 GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY); 498 ret,
499 GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY));
499 return ret; 500 return ret;
500} 501}
501 502
diff --git a/src/util/peer.c b/src/util/peer.c
index 5c00d5580..f30c720aa 100644
--- a/src/util/peer.c
+++ b/src/util/peer.c
@@ -116,10 +116,11 @@ GNUNET_PEER_intern (const struct GNUNET_PeerIdentity *pid)
116 table[ret].id = *pid; 116 table[ret].id = *pid;
117 table[ret].rc = 1; 117 table[ret].rc = 1;
118 table[ret].pid = ret; 118 table[ret].pid = ret;
119 GNUNET_CONTAINER_multihashmap_put (map, 119 GNUNET_break (GNUNET_OK ==
120 &pid->hashPubKey, 120 GNUNET_CONTAINER_multihashmap_put (map,
121 &table[ret], 121 &pid->hashPubKey,
122 GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY); 122 &table[ret],
123 GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY));
123 return ret; 124 return ret;
124} 125}
125 126
@@ -148,9 +149,10 @@ GNUNET_PEER_decrement_rcs (const GNUNET_PEER_Id * ids, unsigned int count)
148 table[id].rc--; 149 table[id].rc--;
149 if (table[id].rc == 0) 150 if (table[id].rc == 0)
150 { 151 {
151 GNUNET_CONTAINER_multihashmap_remove (map, 152 GNUNET_break (GNUNET_OK ==
152 &table[id].id.hashPubKey, 153 GNUNET_CONTAINER_multihashmap_remove (map,
153 &table[id]); 154 &table[id].id.hashPubKey,
155 &table[id]));
154 table[id].pid = free_list_start; 156 table[id].pid = free_list_start;
155 free_list_start = id; 157 free_list_start = id;
156 } 158 }
@@ -175,9 +177,10 @@ GNUNET_PEER_change_rc (GNUNET_PEER_Id id, int delta)
175 table[id].rc += delta; 177 table[id].rc += delta;
176 if (table[id].rc == 0) 178 if (table[id].rc == 0)
177 { 179 {
178 GNUNET_CONTAINER_multihashmap_remove (map, 180 GNUNET_break (GNUNET_OK ==
179 &table[id].id.hashPubKey, 181 GNUNET_CONTAINER_multihashmap_remove (map,
180 &table[id]); 182 &table[id].id.hashPubKey,
183 &table[id]));
181 table[id].pid = free_list_start; 184 table[id].pid = free_list_start;
182 free_list_start = id; 185 free_list_start = id;
183 } 186 }