gpgconf: Exit with failure if --launch fails.

* tools/gpgconf-comp.c (gc_component_launch): Return an error code.
* tools/gpgconf.c (main): Exit if launch failed.
--
GnuPG-bug-id: 1791
This commit is contained in:
Werner Koch 2014-12-17 10:36:24 +01:00
parent b1b1923b06
commit 5cb6df8996
3 changed files with 13 additions and 4 deletions

View File

@ -1142,7 +1142,7 @@ dirmngr_runtime_change (int killflag)
/* Launch the gpg-agent or the dirmngr if not already running. */
void
gpg_error_t
gc_component_launch (int component)
{
gpg_error_t err;
@ -1176,6 +1176,7 @@ gc_component_launch (int component)
" NOP",
gpg_strerror (err));
gnupg_release_process (pid);
return err;
}

View File

@ -281,9 +281,17 @@ main (int argc, char **argv)
exit (1);
}
else if (cmd == aLaunch)
gc_component_launch (idx);
{
if (gc_component_launch (idx))
exit (1);
}
else
gc_component_kill (idx);
{
/* We don't error out if the kill failed because this
command should do nothing if the component is not
running. */
gc_component_kill (idx);
}
}
break;

View File

@ -45,7 +45,7 @@ char *gc_percent_escape (const char *src);
void gc_error (int status, int errnum, const char *fmt, ...);
/* Launch given component. */
void gc_component_launch (int component);
gpg_error_t gc_component_launch (int component);
/* Kill given component. */
void gc_component_kill (int component);