Message ID | 1461755514-23754-15-git-send-email-roger.pau@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Apr 27, 2016 at 01:11:52PM +0200, Roger Pau Monne wrote: > By explicitly casting it to unsigned. > > Reasoning on why this is needed, provided by Andrew Cooper: > > "Ocaml stores integers shifted left by one, and with the bottom bit set. > > Values with the bottom bit clear are pointers into the GC'd heap. Values > with the bottom bit set are integers, and need to be shifted by 1 bit to > have calculations performed." > > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> > Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com> Acked-by: Wei Liu <wei.liu2@citrix.com>
diff --git a/tools/ocaml/xenstored/systemd_stubs.c b/tools/ocaml/xenstored/systemd_stubs.c index 1bd5dea..a78a72b 100644 --- a/tools/ocaml/xenstored/systemd_stubs.c +++ b/tools/ocaml/xenstored/systemd_stubs.c @@ -124,7 +124,7 @@ CAMLprim value ocaml_sd_listen_fds(value connect_to) CAMLparam1(connect_to); CAMLlocal1(sock_ret); - sock_ret = Val_int(-1); + sock_ret = Val_int(-1U); CAMLreturn(sock_ret); } @@ -144,7 +144,7 @@ CAMLprim value ocaml_sd_notify_ready(value ignore) CAMLparam1(ignore); CAMLlocal1(ret); - ret = Val_int(-1); + ret = Val_int(-1U); CAMLreturn(ret); }