diff options
author | NIIBE Yutaka <[email protected]> | 2022-11-25 02:57:57 +0000 |
---|---|---|
committer | NIIBE Yutaka <[email protected]> | 2022-11-25 03:04:54 +0000 |
commit | af4a6fff0da512defb390e9473d95edd77956dff (patch) | |
tree | c0630e38672034c1ff8b14743db5ad33a4ab9496 | |
parent | Replace pipe+gnupg_spawn_process_fd by gnupg_process_spawn. (diff) | |
download | gnupg-af4a6fff0da512defb390e9473d95edd77956dff.tar.gz gnupg-af4a6fff0da512defb390e9473d95edd77956dff.zip |
Fix gnupg_process_release.
Signed-off-by: NIIBE Yutaka <[email protected]>
-rw-r--r-- | common/exechelp-posix.c | 8 | ||||
-rw-r--r-- | common/exechelp-w32.c | 8 |
2 files changed, 14 insertions, 2 deletions
diff --git a/common/exechelp-posix.c b/common/exechelp-posix.c index 0c09abbf4..7a4f9e251 100644 --- a/common/exechelp-posix.c +++ b/common/exechelp-posix.c @@ -1529,8 +1529,14 @@ gnupg_process_wait (gnupg_process_t process, int hang) void gnupg_process_release (gnupg_process_t process) { + if (!process) + return; + if (process->terminated) - gnupg_process_wait (process, 0); + { + gnupg_process_terminate (process); + gnupg_process_wait (process, 1); + } xfree (process); } diff --git a/common/exechelp-w32.c b/common/exechelp-w32.c index d505379cc..9ca2bab2d 100644 --- a/common/exechelp-w32.c +++ b/common/exechelp-w32.c @@ -1730,8 +1730,14 @@ gnupg_process_terminate (gnupg_process_t process) void gnupg_process_release (gnupg_process_t process) { + if (!process) + return; + if (process->terminated) - gnupg_process_wait (process, 0); + { + gnupg_process_terminate (process); + gnupg_process_wait (process, 1); + } xfree (process); } |