gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r15964 - gnunet/src/util


From: gnunet
Subject: [GNUnet-SVN] r15964 - gnunet/src/util
Date: Thu, 14 Jul 2011 19:11:56 +0200

Author: grothoff
Date: 2011-07-14 19:11:56 +0200 (Thu, 14 Jul 2011)
New Revision: 15964

Modified:
   gnunet/src/util/os_priority.c
Log:
MAntis 1616, 0001-Temporary-fix-for-process_kill.patch 

Modified: gnunet/src/util/os_priority.c
===================================================================
--- gnunet/src/util/os_priority.c       2011-07-14 17:09:23 UTC (rev 15963)
+++ gnunet/src/util/os_priority.c       2011-07-14 17:11:56 UTC (rev 15964)
@@ -146,47 +146,27 @@
     else
       GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
           "Failed to write into control pipe , errno is %d\n", errno);
+#if WINDOWS
+    res = 0;
+    TerminateProcess (proc->handle, 0);
+#else
     res = PLIBC_KILL (proc->pid, sig);
+#endif
   }
   else
   {
-       struct GNUNET_NETWORK_FDSet *rfds;
-    struct GNUNET_NETWORK_FDSet *efds;
-
-    rfds = GNUNET_NETWORK_fdset_create ();
-    efds = GNUNET_NETWORK_fdset_create ();
-
-    GNUNET_NETWORK_fdset_handle_set (rfds, proc->control_pipe);
-    GNUNET_NETWORK_fdset_handle_set (efds, proc->control_pipe);
-
- read_next:
-        GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-            "Wrote control code into control pipe, now waiting\n");
-
-        ret = GNUNET_NETWORK_socket_select (rfds, NULL, efds,
-            GNUNET_TIME_relative_multiply (GNUNET_TIME_relative_get_unit (),
-                5000));
-
-        if (ret < 1 || GNUNET_NETWORK_fdset_handle_isset (efds,
-            proc->control_pipe))
-          {
-            /* Just to be sure */
-            PLIBC_KILL (proc->pid, sig);
-            res = 0;
-          }
-        else
-          {
-            if (GNUNET_DISK_file_read (proc->control_pipe, &ret,
-                sizeof(ret)) != GNUNET_OK)
-              res = PLIBC_KILL (proc->pid, sig);
-
-            /* Child signaled shutdown is in progress */
-            goto read_next;
-          }
-      }
-
-    return res;
+    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+        "Wrote control code into control pipe, now waiting\n");
+    WaitForSingleObject (proc->handle, 5000);
+#if WINDOWS
+    TerminateProcess (proc->handle, 0);
 #else
+    PLIBC_KILL (proc->pid, sig);
+#endif
+    res = 0;
+  }
+  return res;
+#else
   return kill (proc->pid, sig);
 #endif
 }




reply via email to

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