[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH for-4.6 4/5] oxenstored: fix systemd socket activation




Iâm not familiar with the systemd side of things, but the OCaml stub changes 
look ok:

Acked-by: David Scott <dave.scott@xxxxxxxxxx>

> On 6 Aug 2015, at 14:38, Wei Liu <wei.liu2@xxxxxxxxxx> wrote:
> 
> Use the correct API sd_listen_fds to determine whether the process is
> started by systemd.
> 
> Change sd_booted to booted_by_systemd to avoid confusion with systemd's
> API.
> 
> Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
> ---
> Cc: Dave Scott <dave.scott@xxxxxxxxxxxxx>
> 
> For 4.6: without this oxenstored is broken when running on a system with
> systemd but not started by systemd.
> ---
> tools/ocaml/xenstored/systemd.ml      | 2 +-
> tools/ocaml/xenstored/systemd.mli     | 4 ++--
> tools/ocaml/xenstored/systemd_stubs.c | 6 +++---
> tools/ocaml/xenstored/utils.ml        | 2 +-
> tools/ocaml/xenstored/xenstored.ml    | 2 +-
> 5 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/tools/ocaml/xenstored/systemd.ml 
> b/tools/ocaml/xenstored/systemd.ml
> index 2aa39ea..6120fd4 100644
> --- a/tools/ocaml/xenstored/systemd.ml
> +++ b/tools/ocaml/xenstored/systemd.ml
> @@ -13,5 +13,5 @@
>  *)
> 
> external sd_listen_fds: string -> Unix.file_descr = "ocaml_sd_listen_fds"
> -external sd_booted: unit -> bool = "ocaml_sd_booted"
> +external booted_by_systemd: unit -> bool = "ocaml_booted_by_systemd"
> external sd_notify_ready: unit -> unit = "ocaml_sd_notify_ready"
> diff --git a/tools/ocaml/xenstored/systemd.mli 
> b/tools/ocaml/xenstored/systemd.mli
> index 85c9f2e..293b5bc 100644
> --- a/tools/ocaml/xenstored/systemd.mli
> +++ b/tools/ocaml/xenstored/systemd.mli
> @@ -17,8 +17,8 @@
>  *  us do sanity checks on the expected sockets *)
> val sd_listen_fds: string -> Unix.file_descr
> 
> -(** Tells us whether or not systemd support was compiled in *)
> -val sd_booted: unit -> bool
> +(** Tells us whether or not the process is booted by systemd *)
> +val booted_by_systemd: unit -> bool
> 
> (** Tells systemd we're ready *)
> external sd_notify_ready: unit -> unit = "ocaml_sd_notify_ready"
> diff --git a/tools/ocaml/xenstored/systemd_stubs.c 
> b/tools/ocaml/xenstored/systemd_stubs.c
> index d924ff1..354539e 100644
> --- a/tools/ocaml/xenstored/systemd_stubs.c
> +++ b/tools/ocaml/xenstored/systemd_stubs.c
> @@ -92,14 +92,14 @@ CAMLprim value ocaml_sd_listen_fds(value connect_to)
>       CAMLreturn(sock_ret);
> }
> 
> -CAMLprim value ocaml_sd_booted(value ignore)
> +CAMLprim value ocaml_booted_by_systemd(value ignore)
> {
>       CAMLparam1(ignore);
>       CAMLlocal1(ret);
> 
>       ret = Val_false;
> 
> -     if (sd_booted())
> +     if (sd_listen_fds(0) > 0)
>               ret = Val_true;
> 
>       CAMLreturn(ret);
> @@ -129,7 +129,7 @@ CAMLprim value ocaml_sd_listen_fds(value connect_to)
>       CAMLreturn(sock_ret);
> }
> 
> -CAMLprim value ocaml_sd_booted(value ignore)
> +CAMLprim value ocaml_booted_by_systemd(value ignore)
> {
>       CAMLparam1(ignore);
>       CAMLlocal1(ret);
> diff --git a/tools/ocaml/xenstored/utils.ml b/tools/ocaml/xenstored/utils.ml
> index 61321c6..fad15b3 100644
> --- a/tools/ocaml/xenstored/utils.ml
> +++ b/tools/ocaml/xenstored/utils.ml
> @@ -84,7 +84,7 @@ let create_regular_unix_socket name =
>         sock
> 
> let create_unix_socket name =
> -        if Systemd.sd_booted() then
> +        if Systemd.booted_by_systemd() then
>                 Systemd.sd_listen_fds name
>         else
>                 create_regular_unix_socket name
> diff --git a/tools/ocaml/xenstored/xenstored.ml 
> b/tools/ocaml/xenstored/xenstored.ml
> index bfe689b..409223d 100644
> --- a/tools/ocaml/xenstored/xenstored.ml
> +++ b/tools/ocaml/xenstored/xenstored.ml
> @@ -431,7 +431,7 @@ let _ =
>       while not !quit
>       do
>               try
> -                        if Systemd.sd_booted() then
> +                        if Systemd.booted_by_systemd() then
>                                 Systemd.sd_notify_ready ();
>                       main_loop ()
>               with exc ->
> -- 
> 2.1.4
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.