From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: Re: [PATCH for-4.6 4/5] oxenstored: fix systemd socket activation Date: Thu, 6 Aug 2015 14:50:44 +0100 Message-ID: <1438869044.9747.158.camel@citrix.com> References: <1438868305-30920-1-git-send-email-wei.liu2@citrix.com> <1438868305-30920-5-git-send-email-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1ZNLZK-00086V-Pa for xen-devel@lists.xenproject.org; Thu, 06 Aug 2015 13:50:50 +0000 In-Reply-To: <1438868305-30920-5-git-send-email-wei.liu2@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Wei Liu , Xen-devel Cc: George Dunlap , Ian Jackson , Dave Scott List-Id: xen-devel@lists.xenproject.org On Thu, 2015-08-06 at 14:38 +0100, Wei Liu 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. launched_by_systemd seems like a more conventional name for this.One doesn't typically "boot" a process. > > Signed-off-by: Wei Liu > --- > Cc: Dave Scott > > 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 ->