gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r17904 - gnunet/src/transport


From: gnunet
Subject: [GNUnet-SVN] r17904 - gnunet/src/transport
Date: Wed, 2 Nov 2011 10:55:39 +0100

Author: brodski
Date: 2011-11-02 10:55:39 +0100 (Wed, 02 Nov 2011)
New Revision: 17904

Modified:
   gnunet/src/transport/plugin_transport_wlan.c
Log:
Some fixes with scheduler

Modified: gnunet/src/transport/plugin_transport_wlan.c
===================================================================
--- gnunet/src/transport/plugin_transport_wlan.c        2011-11-02 09:25:43 UTC 
(rev 17903)
+++ gnunet/src/transport/plugin_transport_wlan.c        2011-11-02 09:55:39 UTC 
(rev 17904)
@@ -1237,8 +1237,11 @@
     GNUNET_CONTAINER_DLL_remove (endpoint->sending_messages_head,
                                  endpoint->sending_messages_tail, fm);
     GNUNET_FRAGMENT_context_destroy (fm->fragcontext);
-    if (fm->timeout_task != GNUNET_SCHEDULER_NO_TASK)
-      GNUNET_SCHEDULER_cancel (fm->timeout_task);
+    if (fm->timeout_task != GNUNET_SCHEDULER_NO_TASK){
+       GNUNET_SCHEDULER_cancel (fm->timeout_task);
+       fm->timeout_task = GNUNET_SCHEDULER_NO_TASK;
+    }
+
     GNUNET_free (fm);
 
     queue_session (plugin, session);
@@ -1620,11 +1623,13 @@
     GNUNET_SCHEDULER_cancel (plugin->server_write_delay_task);
     plugin->server_write_delay_task = GNUNET_SCHEDULER_NO_TASK;
   }
+
   if (plugin->server_write_task != GNUNET_SCHEDULER_NO_TASK)
   {
     GNUNET_SCHEDULER_cancel (plugin->server_write_task);
     plugin->server_write_task = GNUNET_SCHEDULER_NO_TASK;
   }
+
   if (plugin->server_read_task != GNUNET_SCHEDULER_NO_TASK)
   {
     GNUNET_SCHEDULER_cancel (plugin->server_read_task);
@@ -1633,7 +1638,8 @@
 
   GNUNET_DISK_pipe_close (plugin->server_stdout);
   GNUNET_DISK_pipe_close (plugin->server_stdin);
-  GNUNET_OS_process_kill (plugin->server_proc, 9);
+  GNUNET_OS_process_kill (plugin->server_proc, SIGKILL);
+  GNUNET_OS_process_wait(plugin->server_proc);
   GNUNET_OS_process_close (plugin->server_proc);
 
   return GNUNET_YES;
@@ -2318,7 +2324,10 @@
 
   GNUNET_CONTAINER_DLL_remove (plugin->mac_head, plugin->mac_tail, endpoint);
   if (endpoint->timeout_task != GNUNET_SCHEDULER_NO_TASK)
+  {
     GNUNET_SCHEDULER_cancel (endpoint->timeout_task);
+    endpoint->timeout_task = GNUNET_SCHEDULER_NO_TASK;
+  }
   plugin->mac_count--;
   GNUNET_STATISTICS_set(plugin->env->stats, _("# wlan mac endpoints"), 
plugin->mac_count, GNUNET_NO);
   GNUNET_free (endpoint);
@@ -2404,7 +2413,10 @@
   }
 
   if (queue->content->timeout_task != GNUNET_SCHEDULER_NO_TASK)
+  {
     GNUNET_SCHEDULER_cancel (queue->content->timeout_task);
+    queue->content->timeout_task = GNUNET_SCHEDULER_NO_TASK;
+  }
   GNUNET_free (queue);
 
   check_fragment_queue (plugin);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]