From 536b6ab09fa3e17f955c8b55e8469f3265a1936f Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Tue, 13 Oct 2009 19:17:24 +0000 Subject: Keep on hacking on g13. A simple --create and --mount does now work. A hacked up encfs is required. --- common/exechelp.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'common/exechelp.c') diff --git a/common/exechelp.c b/common/exechelp.c index 89604902a..4a385bcd7 100644 --- a/common/exechelp.c +++ b/common/exechelp.c @@ -1102,3 +1102,28 @@ gnupg_spawn_process_detached (const char *pgmname, const char *argv[], return 0; #endif /* !HAVE_W32_SYSTEM*/ } + + +/* Kill a process; that is send an appropriate signal to the process. + gnupg_wait_process must be called to actually remove the process + from the system. An invalid PID is ignored. */ +void +gnupg_kill_process (pid_t pid) +{ +#ifdef HAVE_W32_SYSTEM + /* Older versions of libassuan set PID to 0 on Windows to indicate + an invalid value. */ + if (pid != (pid_t) INVALID_HANDLE_VALUE && pid != 0) + { + HANDLE process = (HANDLE) pid; + + /* Arbitrary error code. */ + TerminateProcess (process, 1); + } +#else + if (pid != (pid_t)(-1)) + { + kill (pid, SIGTERM); + } +#endif +} -- cgit v1.2.3