diff options
author | Werner Koch <[email protected]> | 2008-01-27 14:43:52 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2008-01-27 14:43:52 +0000 |
commit | d84d5ea748b2df0fd2fbd26149e8901e7fdd4af5 (patch) | |
tree | 9cffdf61c2bab8fdc9bfcc17548b0327c50661de /common/exechelp.c | |
parent | Typo fixes. (diff) | |
download | gnupg-d84d5ea748b2df0fd2fbd26149e8901e7fdd4af5.tar.gz gnupg-d84d5ea748b2df0fd2fbd26149e8901e7fdd4af5.zip |
[W32] Avoid extra console window when importing or exporting.
Fixes bug 875.
Diffstat (limited to 'common/exechelp.c')
-rw-r--r-- | common/exechelp.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/common/exechelp.c b/common/exechelp.c index 7da7dbd50..09f90ef91 100644 --- a/common/exechelp.c +++ b/common/exechelp.c @@ -1,5 +1,5 @@ /* exechelp.c - fork and exec helpers - * Copyright (C) 2004, 2007 Free Software Foundation, Inc. + * Copyright (C) 2004, 2007, 2008 Free Software Foundation, Inc. * * This file is part of GnuPG. * @@ -322,11 +322,18 @@ gnupg_create_inbound_pipe (int filedes[2]) PREEXEC is not NULL, that function will be called right before the exec. Calling gnupg_wait_process is required. + FLAGS is a bit vector with just one bit defined for now: + + Bit 7: If set the process will be started as a background process. + This flag is only useful under W32 systems, so that no new + console is created and pops up a console window when + starting the server + Returns 0 on success or an error code. */ gpg_error_t gnupg_spawn_process (const char *pgmname, const char *argv[], FILE *infile, FILE *outfile, - void (*preexec)(void), + void (*preexec)(void), unsigned int flags, FILE **statusfile, pid_t *pid) { #ifdef HAVE_W32_SYSTEM @@ -384,6 +391,7 @@ gnupg_spawn_process (const char *pgmname, const char *argv[], si.hStdError = fd_to_handle (rp[1]); cr_flags = (CREATE_DEFAULT_ERROR_MODE + | ((flags & 128)? DETACHED_PROCESS : 0) | GetPriorityClass (GetCurrentProcess ()) | CREATE_SUSPENDED); log_debug ("CreateProcess, path=`%s' cmdline=`%s'\n", pgmname, cmdline); |