diff options
author | Lennart Poettering <lennart@poettering.net> | 2013-11-25 15:35:10 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2013-11-25 17:40:53 +0100 |
commit | 290837072b136624f1f3d941c7274e4b1b275021 (patch) | |
tree | 292b7477bffe99ed123f0d02ed764847fd5c76a7 /src/core/swap.c | |
parent | 5bcb0f2ba0615897662fcd4f6227d066781c6fc2 (diff) |
core: set some event source priorities to enforce dispatching order
Diffstat (limited to 'src/core/swap.c')
-rw-r--r-- | src/core/swap.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/core/swap.c b/src/core/swap.c index fff613934a..adcf78b717 100644 --- a/src/core/swap.c +++ b/src/core/swap.c @@ -1238,6 +1238,13 @@ static int swap_enumerate(Manager *m) { r = sd_event_add_io(m->event, fileno(m->proc_swaps), EPOLLPRI, swap_dispatch_io, m, &m->swap_event_source); if (r < 0) goto fail; + + /* Dispatch this before we dispatch SIGCHLD, so that + * we always get the events from /proc/swaps before + * the SIGCHLD of /sbin/swapon. */ + r = sd_event_source_set_priority(m->swap_event_source, -10); + if (r < 0) + goto fail; } r = swap_load_proc_swaps(m, false); |