diff options
author | Nathan S. Evans <evans@in.tum.de> | 2010-11-05 18:21:50 +0000 |
---|---|---|
committer | Nathan S. Evans <evans@in.tum.de> | 2010-11-05 18:21:50 +0000 |
commit | 75a33a1499cf60ea4364c9aa673816629a6c1413 (patch) | |
tree | 0620da4312bb04de4d7b65074fdd3b0c3dd6cc0e /src/fs/gnunet-service-fs.c | |
parent | 7217c601ad30760872823193d62307e7a335d226 (diff) | |
download | gnunet-75a33a1499cf60ea4364c9aa673816629a6c1413.tar.gz gnunet-75a33a1499cf60ea4364c9aa673816629a6c1413.zip |
big scheduler refactoring, expect some issues
Diffstat (limited to 'src/fs/gnunet-service-fs.c')
-rw-r--r-- | src/fs/gnunet-service-fs.c | 92 |
1 files changed, 31 insertions, 61 deletions
diff --git a/src/fs/gnunet-service-fs.c b/src/fs/gnunet-service-fs.c index 2defec397..0a537576a 100644 --- a/src/fs/gnunet-service-fs.c +++ b/src/fs/gnunet-service-fs.c | |||
@@ -771,11 +771,6 @@ static struct GNUNET_BLOCK_Context *block_ctx; | |||
771 | static struct GNUNET_CONFIGURATION_Handle *block_cfg; | 771 | static struct GNUNET_CONFIGURATION_Handle *block_cfg; |
772 | 772 | ||
773 | /** | 773 | /** |
774 | * Our scheduler. | ||
775 | */ | ||
776 | static struct GNUNET_SCHEDULER_Handle *sched; | ||
777 | |||
778 | /** | ||
779 | * Our configuration. | 774 | * Our configuration. |
780 | */ | 775 | */ |
781 | static const struct GNUNET_CONFIGURATION_Handle *cfg; | 776 | static const struct GNUNET_CONFIGURATION_Handle *cfg; |
@@ -1106,7 +1101,7 @@ consider_migration (void *cls, | |||
1106 | #endif | 1101 | #endif |
1107 | if (cp->delayed_transmission_request_task != GNUNET_SCHEDULER_NO_TASK) | 1102 | if (cp->delayed_transmission_request_task != GNUNET_SCHEDULER_NO_TASK) |
1108 | { | 1103 | { |
1109 | GNUNET_SCHEDULER_cancel (sched, cp->delayed_transmission_request_task); | 1104 | GNUNET_SCHEDULER_cancel (cp->delayed_transmission_request_task); |
1110 | cp->delayed_transmission_request_task = GNUNET_SCHEDULER_NO_TASK; | 1105 | cp->delayed_transmission_request_task = GNUNET_SCHEDULER_NO_TASK; |
1111 | } | 1106 | } |
1112 | cp->cth | 1107 | cp->cth |
@@ -1166,8 +1161,7 @@ consider_migration_gathering () | |||
1166 | MAX_MIGRATION_QUEUE); | 1161 | MAX_MIGRATION_QUEUE); |
1167 | delay = GNUNET_TIME_relative_max (delay, | 1162 | delay = GNUNET_TIME_relative_max (delay, |
1168 | min_migration_delay); | 1163 | min_migration_delay); |
1169 | mig_task = GNUNET_SCHEDULER_add_delayed (sched, | 1164 | mig_task = GNUNET_SCHEDULER_add_delayed (delay, |
1170 | delay, | ||
1171 | &gather_migration_blocks, | 1165 | &gather_migration_blocks, |
1172 | NULL); | 1166 | NULL); |
1173 | } | 1167 | } |
@@ -1201,8 +1195,7 @@ consider_dht_put_gathering (void *cls) | |||
1201 | (hopefully) appear */ | 1195 | (hopefully) appear */ |
1202 | delay = GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MINUTES, 5); | 1196 | delay = GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MINUTES, 5); |
1203 | } | 1197 | } |
1204 | dht_task = GNUNET_SCHEDULER_add_delayed (sched, | 1198 | dht_task = GNUNET_SCHEDULER_add_delayed (delay, |
1205 | delay, | ||
1206 | &gather_dht_put_blocks, | 1199 | &gather_dht_put_blocks, |
1207 | cls); | 1200 | cls); |
1208 | } | 1201 | } |
@@ -1542,8 +1535,7 @@ destroy_pending_request (struct PendingRequest *pr) | |||
1542 | } | 1535 | } |
1543 | if (pr->task != GNUNET_SCHEDULER_NO_TASK) | 1536 | if (pr->task != GNUNET_SCHEDULER_NO_TASK) |
1544 | { | 1537 | { |
1545 | GNUNET_SCHEDULER_cancel (sched, | 1538 | GNUNET_SCHEDULER_cancel (pr->task); |
1546 | pr->task); | ||
1547 | pr->task = GNUNET_SCHEDULER_NO_TASK; | 1539 | pr->task = GNUNET_SCHEDULER_NO_TASK; |
1548 | } | 1540 | } |
1549 | while (NULL != pr->pending_head) | 1541 | while (NULL != pr->pending_head) |
@@ -1743,8 +1735,7 @@ cron_flush_trust (void *cls, | |||
1743 | return; | 1735 | return; |
1744 | if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) | 1736 | if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) |
1745 | return; | 1737 | return; |
1746 | GNUNET_SCHEDULER_add_delayed (tc->sched, | 1738 | GNUNET_SCHEDULER_add_delayed (TRUST_FLUSH_FREQ, &cron_flush_trust, NULL); |
1747 | TRUST_FLUSH_FREQ, &cron_flush_trust, NULL); | ||
1748 | } | 1739 | } |
1749 | 1740 | ||
1750 | 1741 | ||
@@ -1843,7 +1834,7 @@ peer_disconnect_handler (void *cls, | |||
1843 | } | 1834 | } |
1844 | if (cp->delayed_transmission_request_task != GNUNET_SCHEDULER_NO_TASK) | 1835 | if (cp->delayed_transmission_request_task != GNUNET_SCHEDULER_NO_TASK) |
1845 | { | 1836 | { |
1846 | GNUNET_SCHEDULER_cancel (sched, cp->delayed_transmission_request_task); | 1837 | GNUNET_SCHEDULER_cancel (cp->delayed_transmission_request_task); |
1847 | cp->delayed_transmission_request_task = GNUNET_SCHEDULER_NO_TASK; | 1838 | cp->delayed_transmission_request_task = GNUNET_SCHEDULER_NO_TASK; |
1848 | } | 1839 | } |
1849 | while (NULL != (pm = cp->pending_messages_head)) | 1840 | while (NULL != (pm = cp->pending_messages_head)) |
@@ -1984,12 +1975,12 @@ shutdown_task (void *cls, | |||
1984 | } | 1975 | } |
1985 | if (GNUNET_SCHEDULER_NO_TASK != mig_task) | 1976 | if (GNUNET_SCHEDULER_NO_TASK != mig_task) |
1986 | { | 1977 | { |
1987 | GNUNET_SCHEDULER_cancel (sched, mig_task); | 1978 | GNUNET_SCHEDULER_cancel (mig_task); |
1988 | mig_task = GNUNET_SCHEDULER_NO_TASK; | 1979 | mig_task = GNUNET_SCHEDULER_NO_TASK; |
1989 | } | 1980 | } |
1990 | if (GNUNET_SCHEDULER_NO_TASK != dht_task) | 1981 | if (GNUNET_SCHEDULER_NO_TASK != dht_task) |
1991 | { | 1982 | { |
1992 | GNUNET_SCHEDULER_cancel (sched, dht_task); | 1983 | GNUNET_SCHEDULER_cancel (dht_task); |
1993 | dht_task = GNUNET_SCHEDULER_NO_TASK; | 1984 | dht_task = GNUNET_SCHEDULER_NO_TASK; |
1994 | } | 1985 | } |
1995 | while (client_list != NULL) | 1986 | while (client_list != NULL) |
@@ -2039,7 +2030,6 @@ shutdown_task (void *cls, | |||
2039 | block_ctx = NULL; | 2030 | block_ctx = NULL; |
2040 | GNUNET_CONFIGURATION_destroy (block_cfg); | 2031 | GNUNET_CONFIGURATION_destroy (block_cfg); |
2041 | block_cfg = NULL; | 2032 | block_cfg = NULL; |
2042 | sched = NULL; | ||
2043 | cfg = NULL; | 2033 | cfg = NULL; |
2044 | GNUNET_free_non_null (trustDirectory); | 2034 | GNUNET_free_non_null (trustDirectory); |
2045 | trustDirectory = NULL; | 2035 | trustDirectory = NULL; |
@@ -2157,8 +2147,7 @@ transmit_to_peer (void *cls, | |||
2157 | { | 2147 | { |
2158 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == cp->delayed_transmission_request_task); | 2148 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == cp->delayed_transmission_request_task); |
2159 | cp->delayed_transmission_request_task | 2149 | cp->delayed_transmission_request_task |
2160 | = GNUNET_SCHEDULER_add_delayed (sched, | 2150 | = GNUNET_SCHEDULER_add_delayed (min_delay, |
2161 | min_delay, | ||
2162 | &delayed_transmission_request, | 2151 | &delayed_transmission_request, |
2163 | cp); | 2152 | cp); |
2164 | } | 2153 | } |
@@ -2284,7 +2273,7 @@ add_to_pending_messages_for_peer (struct ConnectedPeer *cp, | |||
2284 | } | 2273 | } |
2285 | if (cp->delayed_transmission_request_task != GNUNET_SCHEDULER_NO_TASK) | 2274 | if (cp->delayed_transmission_request_task != GNUNET_SCHEDULER_NO_TASK) |
2286 | { | 2275 | { |
2287 | GNUNET_SCHEDULER_cancel (sched, cp->delayed_transmission_request_task); | 2276 | GNUNET_SCHEDULER_cancel (cp->delayed_transmission_request_task); |
2288 | cp->delayed_transmission_request_task = GNUNET_SCHEDULER_NO_TASK; | 2277 | cp->delayed_transmission_request_task = GNUNET_SCHEDULER_NO_TASK; |
2289 | } | 2278 | } |
2290 | /* need to schedule transmission */ | 2279 | /* need to schedule transmission */ |
@@ -2428,8 +2417,7 @@ transmit_query_continuation (void *cls, | |||
2428 | "Transmission of request failed, will try again later.\n"); | 2417 | "Transmission of request failed, will try again later.\n"); |
2429 | #endif | 2418 | #endif |
2430 | if (pr->task == GNUNET_SCHEDULER_NO_TASK) | 2419 | if (pr->task == GNUNET_SCHEDULER_NO_TASK) |
2431 | pr->task = GNUNET_SCHEDULER_add_delayed (sched, | 2420 | pr->task = GNUNET_SCHEDULER_add_delayed (get_processing_delay (), |
2432 | get_processing_delay (), | ||
2433 | &forward_request_task, | 2421 | &forward_request_task, |
2434 | pr); | 2422 | pr); |
2435 | return; | 2423 | return; |
@@ -2461,8 +2449,7 @@ transmit_query_continuation (void *cls, | |||
2461 | pr->used_targets[i].last_request_time = GNUNET_TIME_absolute_get (); | 2449 | pr->used_targets[i].last_request_time = GNUNET_TIME_absolute_get (); |
2462 | pr->used_targets[i].num_requests++; | 2450 | pr->used_targets[i].num_requests++; |
2463 | if (pr->task == GNUNET_SCHEDULER_NO_TASK) | 2451 | if (pr->task == GNUNET_SCHEDULER_NO_TASK) |
2464 | pr->task = GNUNET_SCHEDULER_add_delayed (sched, | 2452 | pr->task = GNUNET_SCHEDULER_add_delayed (get_processing_delay (), |
2465 | get_processing_delay (), | ||
2466 | &forward_request_task, | 2453 | &forward_request_task, |
2467 | pr); | 2454 | pr); |
2468 | } | 2455 | } |
@@ -2572,8 +2559,7 @@ target_reservation_cb (void *cls, | |||
2572 | { | 2559 | { |
2573 | /* error in communication with core, try again later */ | 2560 | /* error in communication with core, try again later */ |
2574 | if (pr->task == GNUNET_SCHEDULER_NO_TASK) | 2561 | if (pr->task == GNUNET_SCHEDULER_NO_TASK) |
2575 | pr->task = GNUNET_SCHEDULER_add_delayed (sched, | 2562 | pr->task = GNUNET_SCHEDULER_add_delayed (get_processing_delay (), |
2576 | get_processing_delay (), | ||
2577 | &forward_request_task, | 2563 | &forward_request_task, |
2578 | pr); | 2564 | pr); |
2579 | return; | 2565 | return; |
@@ -2589,8 +2575,7 @@ target_reservation_cb (void *cls, | |||
2589 | "Selected peer disconnected!\n"); | 2575 | "Selected peer disconnected!\n"); |
2590 | #endif | 2576 | #endif |
2591 | if (pr->task == GNUNET_SCHEDULER_NO_TASK) | 2577 | if (pr->task == GNUNET_SCHEDULER_NO_TASK) |
2592 | pr->task = GNUNET_SCHEDULER_add_delayed (sched, | 2578 | pr->task = GNUNET_SCHEDULER_add_delayed (get_processing_delay (), |
2593 | get_processing_delay (), | ||
2594 | &forward_request_task, | 2579 | &forward_request_task, |
2595 | pr); | 2580 | pr); |
2596 | return; | 2581 | return; |
@@ -2611,8 +2596,7 @@ target_reservation_cb (void *cls, | |||
2611 | 1, | 2596 | 1, |
2612 | GNUNET_NO); | 2597 | GNUNET_NO); |
2613 | if (pr->task == GNUNET_SCHEDULER_NO_TASK) | 2598 | if (pr->task == GNUNET_SCHEDULER_NO_TASK) |
2614 | pr->task = GNUNET_SCHEDULER_add_delayed (sched, | 2599 | pr->task = GNUNET_SCHEDULER_add_delayed (get_processing_delay (), |
2615 | get_processing_delay (), | ||
2616 | &forward_request_task, | 2600 | &forward_request_task, |
2617 | pr); | 2601 | pr); |
2618 | return; /* this target round failed */ | 2602 | return; /* this target round failed */ |
@@ -2963,8 +2947,7 @@ forward_request_task (void *cls, | |||
2963 | GNUNET_h2s (&pr->query), | 2947 | GNUNET_h2s (&pr->query), |
2964 | delay.rel_value); | 2948 | delay.rel_value); |
2965 | #endif | 2949 | #endif |
2966 | pr->task = GNUNET_SCHEDULER_add_delayed (sched, | 2950 | pr->task = GNUNET_SCHEDULER_add_delayed (delay, |
2967 | delay, | ||
2968 | &forward_request_task, | 2951 | &forward_request_task, |
2969 | pr); | 2952 | pr); |
2970 | return; /* nobody selected */ | 2953 | return; /* nobody selected */ |
@@ -2999,7 +2982,7 @@ forward_request_task (void *cls, | |||
2999 | cp = GNUNET_CONTAINER_multihashmap_get (connected_peers, | 2982 | cp = GNUNET_CONTAINER_multihashmap_get (connected_peers, |
3000 | &psc.target.hashPubKey); | 2983 | &psc.target.hashPubKey); |
3001 | GNUNET_assert (NULL != cp); | 2984 | GNUNET_assert (NULL != cp); |
3002 | pr->irc = GNUNET_CORE_peer_change_preference (sched, cfg, | 2985 | pr->irc = GNUNET_CORE_peer_change_preference (cfg, |
3003 | &psc.target, | 2986 | &psc.target, |
3004 | GNUNET_CONSTANTS_SERVICE_TIMEOUT, | 2987 | GNUNET_CONSTANTS_SERVICE_TIMEOUT, |
3005 | GNUNET_BANDWIDTH_value_init (UINT32_MAX), | 2988 | GNUNET_BANDWIDTH_value_init (UINT32_MAX), |
@@ -3263,8 +3246,7 @@ struct GNUNET_TIME_Relative art_delay; | |||
3263 | pr->do_remove = GNUNET_YES; | 3246 | pr->do_remove = GNUNET_YES; |
3264 | if (pr->task != GNUNET_SCHEDULER_NO_TASK) | 3247 | if (pr->task != GNUNET_SCHEDULER_NO_TASK) |
3265 | { | 3248 | { |
3266 | GNUNET_SCHEDULER_cancel (sched, | 3249 | GNUNET_SCHEDULER_cancel (pr->task); |
3267 | pr->task); | ||
3268 | pr->task = GNUNET_SCHEDULER_NO_TASK; | 3250 | pr->task = GNUNET_SCHEDULER_NO_TASK; |
3269 | } | 3251 | } |
3270 | GNUNET_break (GNUNET_YES == | 3252 | GNUNET_break (GNUNET_YES == |
@@ -3779,8 +3761,7 @@ process_local_reply (void *cls, | |||
3779 | } | 3761 | } |
3780 | /* no more results */ | 3762 | /* no more results */ |
3781 | if (pr->task == GNUNET_SCHEDULER_NO_TASK) | 3763 | if (pr->task == GNUNET_SCHEDULER_NO_TASK) |
3782 | pr->task = GNUNET_SCHEDULER_add_now (sched, | 3764 | pr->task = GNUNET_SCHEDULER_add_now (&forward_request_task, |
3783 | &forward_request_task, | ||
3784 | pr); | 3765 | pr); |
3785 | return; | 3766 | return; |
3786 | } | 3767 | } |
@@ -4267,8 +4248,7 @@ handle_p2p_get (void *cls, | |||
4267 | } | 4248 | } |
4268 | default: | 4249 | default: |
4269 | if (pr->task == GNUNET_SCHEDULER_NO_TASK) | 4250 | if (pr->task == GNUNET_SCHEDULER_NO_TASK) |
4270 | pr->task = GNUNET_SCHEDULER_add_now (sched, | 4251 | pr->task = GNUNET_SCHEDULER_add_now (&forward_request_task, |
4271 | &forward_request_task, | ||
4272 | pr); | 4252 | pr); |
4273 | } | 4253 | } |
4274 | 4254 | ||
@@ -4448,13 +4428,11 @@ handle_start_search (void *cls, | |||
4448 | /** | 4428 | /** |
4449 | * Process fs requests. | 4429 | * Process fs requests. |
4450 | * | 4430 | * |
4451 | * @param s scheduler to use | ||
4452 | * @param server the initialized server | 4431 | * @param server the initialized server |
4453 | * @param c configuration to use | 4432 | * @param c configuration to use |
4454 | */ | 4433 | */ |
4455 | static int | 4434 | static int |
4456 | main_init (struct GNUNET_SCHEDULER_Handle *s, | 4435 | main_init (struct GNUNET_SERVER_Handle *server, |
4457 | struct GNUNET_SERVER_Handle *server, | ||
4458 | const struct GNUNET_CONFIGURATION_Handle *c) | 4436 | const struct GNUNET_CONFIGURATION_Handle *c) |
4459 | { | 4437 | { |
4460 | static const struct GNUNET_CORE_MessageHandler p2p_handlers[] = | 4438 | static const struct GNUNET_CORE_MessageHandler p2p_handlers[] = |
@@ -4481,9 +4459,8 @@ main_init (struct GNUNET_SCHEDULER_Handle *s, | |||
4481 | }; | 4459 | }; |
4482 | unsigned long long enc = 128; | 4460 | unsigned long long enc = 128; |
4483 | 4461 | ||
4484 | sched = s; | ||
4485 | cfg = c; | 4462 | cfg = c; |
4486 | stats = GNUNET_STATISTICS_create (sched, "fs", cfg); | 4463 | stats = GNUNET_STATISTICS_create ("fs", cfg); |
4487 | min_migration_delay = GNUNET_TIME_UNIT_SECONDS; | 4464 | min_migration_delay = GNUNET_TIME_UNIT_SECONDS; |
4488 | if ( (GNUNET_OK != | 4465 | if ( (GNUNET_OK != |
4489 | GNUNET_CONFIGURATION_get_value_number (cfg, | 4466 | GNUNET_CONFIGURATION_get_value_number (cfg, |
@@ -4509,8 +4486,7 @@ main_init (struct GNUNET_SCHEDULER_Handle *s, | |||
4509 | rt_entry_lifetime = GNUNET_LOAD_value_init (GNUNET_TIME_UNIT_FOREVER_REL); | 4486 | rt_entry_lifetime = GNUNET_LOAD_value_init (GNUNET_TIME_UNIT_FOREVER_REL); |
4510 | peer_request_map = GNUNET_CONTAINER_multihashmap_create (enc); | 4487 | peer_request_map = GNUNET_CONTAINER_multihashmap_create (enc); |
4511 | requests_by_expiration_heap = GNUNET_CONTAINER_heap_create (GNUNET_CONTAINER_HEAP_ORDER_MIN); | 4488 | requests_by_expiration_heap = GNUNET_CONTAINER_heap_create (GNUNET_CONTAINER_HEAP_ORDER_MIN); |
4512 | core = GNUNET_CORE_connect (sched, | 4489 | core = GNUNET_CORE_connect (cfg, |
4513 | cfg, | ||
4514 | GNUNET_TIME_UNIT_FOREVER_REL, | 4490 | GNUNET_TIME_UNIT_FOREVER_REL, |
4515 | NULL, | 4491 | NULL, |
4516 | NULL, | 4492 | NULL, |
@@ -4559,14 +4535,12 @@ main_init (struct GNUNET_SCHEDULER_Handle *s, | |||
4559 | "TRUST", | 4535 | "TRUST", |
4560 | &trustDirectory)); | 4536 | &trustDirectory)); |
4561 | GNUNET_DISK_directory_create (trustDirectory); | 4537 | GNUNET_DISK_directory_create (trustDirectory); |
4562 | GNUNET_SCHEDULER_add_with_priority (sched, | 4538 | GNUNET_SCHEDULER_add_with_priority (GNUNET_SCHEDULER_PRIORITY_HIGH, |
4563 | GNUNET_SCHEDULER_PRIORITY_HIGH, | ||
4564 | &cron_flush_trust, NULL); | 4539 | &cron_flush_trust, NULL); |
4565 | 4540 | ||
4566 | 4541 | ||
4567 | GNUNET_SERVER_add_handlers (server, handlers); | 4542 | GNUNET_SERVER_add_handlers (server, handlers); |
4568 | GNUNET_SCHEDULER_add_delayed (sched, | 4543 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, |
4569 | GNUNET_TIME_UNIT_FOREVER_REL, | ||
4570 | &shutdown_task, | 4544 | &shutdown_task, |
4571 | NULL); | 4545 | NULL); |
4572 | return GNUNET_OK; | 4546 | return GNUNET_OK; |
@@ -4577,24 +4551,21 @@ main_init (struct GNUNET_SCHEDULER_Handle *s, | |||
4577 | * Process fs requests. | 4551 | * Process fs requests. |
4578 | * | 4552 | * |
4579 | * @param cls closure | 4553 | * @param cls closure |
4580 | * @param sched scheduler to use | ||
4581 | * @param server the initialized server | 4554 | * @param server the initialized server |
4582 | * @param cfg configuration to use | 4555 | * @param cfg configuration to use |
4583 | */ | 4556 | */ |
4584 | static void | 4557 | static void |
4585 | run (void *cls, | 4558 | run (void *cls, |
4586 | struct GNUNET_SCHEDULER_Handle *sched, | ||
4587 | struct GNUNET_SERVER_Handle *server, | 4559 | struct GNUNET_SERVER_Handle *server, |
4588 | const struct GNUNET_CONFIGURATION_Handle *cfg) | 4560 | const struct GNUNET_CONFIGURATION_Handle *cfg) |
4589 | { | 4561 | { |
4590 | active_migration = GNUNET_CONFIGURATION_get_value_yesno (cfg, | 4562 | active_migration = GNUNET_CONFIGURATION_get_value_yesno (cfg, |
4591 | "FS", | 4563 | "FS", |
4592 | "ACTIVEMIGRATION"); | 4564 | "ACTIVEMIGRATION"); |
4593 | dsh = GNUNET_DATASTORE_connect (cfg, | 4565 | dsh = GNUNET_DATASTORE_connect (cfg); |
4594 | sched); | ||
4595 | if (dsh == NULL) | 4566 | if (dsh == NULL) |
4596 | { | 4567 | { |
4597 | GNUNET_SCHEDULER_shutdown (sched); | 4568 | GNUNET_SCHEDULER_shutdown (); |
4598 | return; | 4569 | return; |
4599 | } | 4570 | } |
4600 | datastore_get_load = GNUNET_LOAD_value_init (DATASTORE_LOAD_AUTODECLINE); | 4571 | datastore_get_load = GNUNET_LOAD_value_init (DATASTORE_LOAD_AUTODECLINE); |
@@ -4606,13 +4577,12 @@ run (void *cls, | |||
4606 | "fs"); | 4577 | "fs"); |
4607 | block_ctx = GNUNET_BLOCK_context_create (block_cfg); | 4578 | block_ctx = GNUNET_BLOCK_context_create (block_cfg); |
4608 | GNUNET_assert (NULL != block_ctx); | 4579 | GNUNET_assert (NULL != block_ctx); |
4609 | dht_handle = GNUNET_DHT_connect (sched, | 4580 | dht_handle = GNUNET_DHT_connect (cfg, |
4610 | cfg, | ||
4611 | FS_DHT_HT_SIZE); | 4581 | FS_DHT_HT_SIZE); |
4612 | if ( (GNUNET_OK != GNUNET_FS_indexing_init (sched, cfg, dsh)) || | 4582 | if ( (GNUNET_OK != GNUNET_FS_indexing_init (cfg, dsh)) || |
4613 | (GNUNET_OK != main_init (sched, server, cfg)) ) | 4583 | (GNUNET_OK != main_init (server, cfg)) ) |
4614 | { | 4584 | { |
4615 | GNUNET_SCHEDULER_shutdown (sched); | 4585 | GNUNET_SCHEDULER_shutdown (); |
4616 | GNUNET_DATASTORE_disconnect (dsh, GNUNET_NO); | 4586 | GNUNET_DATASTORE_disconnect (dsh, GNUNET_NO); |
4617 | dsh = NULL; | 4587 | dsh = NULL; |
4618 | GNUNET_DHT_disconnect (dht_handle); | 4588 | GNUNET_DHT_disconnect (dht_handle); |