aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2022-11-25 02:57:57 +0000
committerNIIBE Yutaka <[email protected]>2022-11-25 03:04:54 +0000
commitaf4a6fff0da512defb390e9473d95edd77956dff (patch)
treec0630e38672034c1ff8b14743db5ad33a4ab9496
parentReplace pipe+gnupg_spawn_process_fd by gnupg_process_spawn. (diff)
downloadgnupg-af4a6fff0da512defb390e9473d95edd77956dff.tar.gz
gnupg-af4a6fff0da512defb390e9473d95edd77956dff.zip
Fix gnupg_process_release.
Signed-off-by: NIIBE Yutaka <[email protected]>
-rw-r--r--common/exechelp-posix.c8
-rw-r--r--common/exechelp-w32.c8
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);
}