[libvirt] [PATCH v2 1/2] util: Introduce virPidFileForceCleanupPath

Peter Krempa pkrempa at redhat.com
Thu Oct 30 09:39:13 UTC 2014


On 10/12/14 14:12, Martin Kletzander wrote:
> This function is used to cleanup a pidfile doing whatever it takes, even
> killing the owning process.
> 
> Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
> ---
> v2:
>  - Don't use "/proc", but simply just try to acquire the pidfile.
>  - https://www.redhat.com/archives/libvir-list/2014-October/msg00320.html
> 
>  src/libvirt_private.syms |  1 +
>  src/util/virpidfile.c    | 42 ++++++++++++++++++++++++++++++++++++++++++
>  src/util/virpidfile.h    |  2 ++
>  3 files changed, 45 insertions(+)
> 
> diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
> index d6265ac..30d100d 100644
> --- a/src/libvirt_private.syms
> +++ b/src/libvirt_private.syms
> @@ -1810,6 +1810,7 @@ virPidFileBuildPath;
>  virPidFileConstructPath;
>  virPidFileDelete;
>  virPidFileDeletePath;
> +virPidFileForceCleanupPath;
>  virPidFileRead;
>  virPidFileReadIfAlive;
>  virPidFileReadPath;
> diff --git a/src/util/virpidfile.c b/src/util/virpidfile.c
> index a3b8846..a64a1cf 100644
> --- a/src/util/virpidfile.c
> +++ b/src/util/virpidfile.c
> @@ -37,6 +37,7 @@
>  #include "c-ctype.h"
>  #include "areadlink.h"
>  #include "virstring.h"
> +#include "virprocess.h"
> 
>  #define VIR_FROM_THIS VIR_FROM_NONE
> 
> @@ -567,3 +568,44 @@ virPidFileConstructPath(bool privileged,
>      VIR_FREE(rundir);
>      return ret;
>  }
> +
> +
> +/**
> + * virPidFileForceCleanupPath:
> + *
> + * Check if the pidfile is left around and clean it up whatever it
> + * takes.  This doesn't raise an error.  This function must not be
> + * called multiple times with the same path, be it in threads or
> + * processes.
> + *
> + * Returns 0 if the pidfile was successfully cleaned up, -1 otherwise.

Possibly worth mentioning that this function doesn't set libvirt errors.

> + */
> +int
> +virPidFileForceCleanupPath(const char *path)

ACK,

Peter


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20141030/22742d06/attachment-0001.sig>


More information about the libvir-list mailing list