aboutsummaryrefslogtreecommitdiff
path: root/src/transport/plugin_transport_wlan.c
diff options
context:
space:
mode:
authorDavid Brodski <david@brodski.eu>2011-11-02 09:55:39 +0000
committerDavid Brodski <david@brodski.eu>2011-11-02 09:55:39 +0000
commit7b9cdc22d2a8a3af95360c34c8d7397702afb14b (patch)
tree4cd3ef8187de298c024e2692ed0b6ee388766374 /src/transport/plugin_transport_wlan.c
parentdb654decb01a63fe8e80ed6d03d9a0594d30e3e5 (diff)
downloadgnunet-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.c18
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);