[Top][All Lists]
[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
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r15964 - gnunet/src/util,
gnunet <=