diff options
author | David Brodski <david@brodski.eu> | 2011-11-02 09:55:39 +0000 |
---|---|---|
committer | David Brodski <david@brodski.eu> | 2011-11-02 09:55:39 +0000 |
commit | 7b9cdc22d2a8a3af95360c34c8d7397702afb14b (patch) | |
tree | 4cd3ef8187de298c024e2692ed0b6ee388766374 /src/transport/plugin_transport_wlan.c | |
parent | db654decb01a63fe8e80ed6d03d9a0594d30e3e5 (diff) | |
download | gnunet-7b9cdc22d2a8a3af95360c34c8d7397702afb14b.tar.gz gnunet-7b9cdc22d2a8a3af95360c34c8d7397702afb14b.zip |
Some fixes with scheduler
Diffstat (limited to 'src/transport/plugin_transport_wlan.c')
-rw-r--r-- | src/transport/plugin_transport_wlan.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/transport/plugin_transport_wlan.c b/src/transport/plugin_transport_wlan.c index a740f758b..de735b971 100644 --- a/src/transport/plugin_transport_wlan.c +++ b/src/transport/plugin_transport_wlan.c | |||
@@ -1237,8 +1237,11 @@ free_fragment_message (struct Plugin *plugin, struct FragmentMessage *fm) | |||
1237 | GNUNET_CONTAINER_DLL_remove (endpoint->sending_messages_head, | 1237 | GNUNET_CONTAINER_DLL_remove (endpoint->sending_messages_head, |
1238 | endpoint->sending_messages_tail, fm); | 1238 | endpoint->sending_messages_tail, fm); |
1239 | GNUNET_FRAGMENT_context_destroy (fm->fragcontext); | 1239 | GNUNET_FRAGMENT_context_destroy (fm->fragcontext); |
1240 | if (fm->timeout_task != GNUNET_SCHEDULER_NO_TASK) | 1240 | if (fm->timeout_task != GNUNET_SCHEDULER_NO_TASK){ |
1241 | GNUNET_SCHEDULER_cancel (fm->timeout_task); | 1241 | GNUNET_SCHEDULER_cancel (fm->timeout_task); |
1242 | fm->timeout_task = GNUNET_SCHEDULER_NO_TASK; | ||
1243 | } | ||
1244 | |||
1242 | GNUNET_free (fm); | 1245 | GNUNET_free (fm); |
1243 | 1246 | ||
1244 | queue_session (plugin, session); | 1247 | queue_session (plugin, session); |
@@ -1620,11 +1623,13 @@ wlan_transport_stop_wlan_helper (struct Plugin *plugin) | |||
1620 | GNUNET_SCHEDULER_cancel (plugin->server_write_delay_task); | 1623 | GNUNET_SCHEDULER_cancel (plugin->server_write_delay_task); |
1621 | plugin->server_write_delay_task = GNUNET_SCHEDULER_NO_TASK; | 1624 | plugin->server_write_delay_task = GNUNET_SCHEDULER_NO_TASK; |
1622 | } | 1625 | } |
1626 | |||
1623 | if (plugin->server_write_task != GNUNET_SCHEDULER_NO_TASK) | 1627 | if (plugin->server_write_task != GNUNET_SCHEDULER_NO_TASK) |
1624 | { | 1628 | { |
1625 | GNUNET_SCHEDULER_cancel (plugin->server_write_task); | 1629 | GNUNET_SCHEDULER_cancel (plugin->server_write_task); |
1626 | plugin->server_write_task = GNUNET_SCHEDULER_NO_TASK; | 1630 | plugin->server_write_task = GNUNET_SCHEDULER_NO_TASK; |
1627 | } | 1631 | } |
1632 | |||
1628 | if (plugin->server_read_task != GNUNET_SCHEDULER_NO_TASK) | 1633 | if (plugin->server_read_task != GNUNET_SCHEDULER_NO_TASK) |
1629 | { | 1634 | { |
1630 | GNUNET_SCHEDULER_cancel (plugin->server_read_task); | 1635 | GNUNET_SCHEDULER_cancel (plugin->server_read_task); |
@@ -1633,7 +1638,8 @@ wlan_transport_stop_wlan_helper (struct Plugin *plugin) | |||
1633 | 1638 | ||
1634 | GNUNET_DISK_pipe_close (plugin->server_stdout); | 1639 | GNUNET_DISK_pipe_close (plugin->server_stdout); |
1635 | GNUNET_DISK_pipe_close (plugin->server_stdin); | 1640 | GNUNET_DISK_pipe_close (plugin->server_stdin); |
1636 | GNUNET_OS_process_kill (plugin->server_proc, 9); | 1641 | GNUNET_OS_process_kill (plugin->server_proc, SIGKILL); |
1642 | GNUNET_OS_process_wait(plugin->server_proc); | ||
1637 | GNUNET_OS_process_close (plugin->server_proc); | 1643 | GNUNET_OS_process_close (plugin->server_proc); |
1638 | 1644 | ||
1639 | return GNUNET_YES; | 1645 | return GNUNET_YES; |
@@ -2318,7 +2324,10 @@ free_macendpoint (struct Plugin *plugin, struct MacEndpoint *endpoint) | |||
2318 | 2324 | ||
2319 | GNUNET_CONTAINER_DLL_remove (plugin->mac_head, plugin->mac_tail, endpoint); | 2325 | GNUNET_CONTAINER_DLL_remove (plugin->mac_head, plugin->mac_tail, endpoint); |
2320 | if (endpoint->timeout_task != GNUNET_SCHEDULER_NO_TASK) | 2326 | if (endpoint->timeout_task != GNUNET_SCHEDULER_NO_TASK) |
2327 | { | ||
2321 | GNUNET_SCHEDULER_cancel (endpoint->timeout_task); | 2328 | GNUNET_SCHEDULER_cancel (endpoint->timeout_task); |
2329 | endpoint->timeout_task = GNUNET_SCHEDULER_NO_TASK; | ||
2330 | } | ||
2322 | plugin->mac_count--; | 2331 | plugin->mac_count--; |
2323 | GNUNET_STATISTICS_set(plugin->env->stats, _("# wlan mac endpoints"), plugin->mac_count, GNUNET_NO); | 2332 | GNUNET_STATISTICS_set(plugin->env->stats, _("# wlan mac endpoints"), plugin->mac_count, GNUNET_NO); |
2324 | GNUNET_free (endpoint); | 2333 | GNUNET_free (endpoint); |
@@ -2404,7 +2413,10 @@ free_session (struct Plugin *plugin, struct Sessionqueue *queue, | |||
2404 | } | 2413 | } |
2405 | 2414 | ||
2406 | if (queue->content->timeout_task != GNUNET_SCHEDULER_NO_TASK) | 2415 | if (queue->content->timeout_task != GNUNET_SCHEDULER_NO_TASK) |
2416 | { | ||
2407 | GNUNET_SCHEDULER_cancel (queue->content->timeout_task); | 2417 | GNUNET_SCHEDULER_cancel (queue->content->timeout_task); |
2418 | queue->content->timeout_task = GNUNET_SCHEDULER_NO_TASK; | ||
2419 | } | ||
2408 | GNUNET_free (queue); | 2420 | GNUNET_free (queue); |
2409 | 2421 | ||
2410 | check_fragment_queue (plugin); | 2422 | check_fragment_queue (plugin); |