diff options
author | Lukas Nykryn <lnykryn@redhat.com> | 2012-08-13 13:58:01 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2012-08-14 14:46:03 +0200 |
commit | 96342de68d0d6de71a062d984dafd2a0905ed9fe (patch) | |
tree | adbeb686c6c3c2bfd5a1c8768555575acb4850a2 /src/shared/hashmap.c | |
parent | d98cc1f29fbf31ccc500d6e20c29b636b9af7e0f (diff) |
service: add options RestartPreventExitStatus and SuccessExitStatus
In some cases, like wrong configuration, restarting after error
does not help, so administrator can specify statuses by RestartPreventExitStatus
which will not cause restart of a service.
Sometimes you have non-standart exit status, so this can be specified
by SuccessfulExitStatus.
Diffstat (limited to 'src/shared/hashmap.c')
-rw-r--r-- | src/shared/hashmap.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/shared/hashmap.c b/src/shared/hashmap.c index e2395d4d42..be37a3659d 100644 --- a/src/shared/hashmap.c +++ b/src/shared/hashmap.c @@ -378,6 +378,21 @@ void* hashmap_get(Hashmap *h, const void *key) { return e->value; } +bool hashmap_contains(Hashmap *h, const void *key) { + unsigned hash; + struct hashmap_entry *e; + + if (!h) + return false; + + hash = h->hash_func(key) % NBUCKETS; + + if (!(e = hash_scan(h, hash, key))) + return false; + + return true; +} + void* hashmap_remove(Hashmap *h, const void *key) { struct hashmap_entry *e; unsigned hash; |