Bug#771118: Acknowledgement (sysv-generator creates bogus orderings)

Michael Biebl biebl at debian.org
Wed Nov 26 22:49:30 GMT 2014


Am 26.11.2014 um 23:39 schrieb Michael Biebl:
> diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c
> index 677fac4..da6b4f6 100644
> --- a/src/sysv-generator/sysv-generator.c
> +++ b/src/sysv-generator/sysv-generator.c
> @@ -768,6 +768,10 @@ static int enumerate_sysv(LookupPaths lp, Hashmap *all_services) {
>                          service->name = name;
>                          service->path = fpath;
>  
> +                        r = load_sysv(service);
> +                        if (r < 0)
> +                                continue;
> +
>                          r = hashmap_put(all_services, service->name, service);
>                          if (r < 0)
>                                  return log_oom();
> @@ -960,10 +964,6 @@ int main(int argc, char *argv[]) {
>          }
>  
>          HASHMAP_FOREACH(service, all_services, j) {
> -                q = load_sysv(service);
> -                if (q < 0)
> -                        continue;
> -
>                  q = fix_order(service, all_services);
>                  if (q < 0)
>                          continue;

To provide a more detailed explanation of the patch:
If a service fails to load, we skip fix_order(), which is results in the
wrong ordering.

So instead, just don't add a service to the all_services hash_map, if it
fails to load.


Uoti has a developed his own, more elaborate patch, which handles this a
bit differently and actually adds orderings against such non-existent
services. I don't think we actually need that and it doesn't make a
difference in practice. I've attached Uoti's patch for completeness sake.

Michael


-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch-uac.patch
Type: text/x-patch
Size: 814 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-systemd-maintainers/attachments/20141126/582c2043/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-systemd-maintainers/attachments/20141126/582c2043/attachment-0002.sig>


More information about the Pkg-systemd-maintainers mailing list