From: Lennart Poettering Date: Wed, 15 Jan 2014 08:08:20 +0000 (+0800) Subject: event: extend priority raneg to 64bit X-Git-Tag: v209~426 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=31927c16deb4b0fdc887220df54505fd6993822f event: extend priority raneg to 64bit The kdbus prioq logic will use 64bit prios too, so let's keep this similar in style. Using 64bit here has the advantage, that pointers and pretty much anything else can be mapped naturally to priorities if so desired. --- diff --git a/src/libsystemd/sd-event.c b/src/libsystemd/sd-event.c index 0b7b71d16..f33a9ecf9 100644 --- a/src/libsystemd/sd-event.c +++ b/src/libsystemd/sd-event.c @@ -61,7 +61,7 @@ struct sd_event_source { bool pending:1; bool dispatching:1; - int priority; + int64_t priority; unsigned pending_index; unsigned prepare_index; unsigned pending_iteration; @@ -1145,14 +1145,14 @@ _public_ int sd_event_source_get_signal(sd_event_source *s) { return s->signal.sig; } -_public_ int sd_event_source_get_priority(sd_event_source *s, int *priority) { +_public_ int sd_event_source_get_priority(sd_event_source *s, int64_t *priority) { assert_return(s, -EINVAL); assert_return(!event_pid_changed(s->event), -ECHILD); return s->priority; } -_public_ int sd_event_source_set_priority(sd_event_source *s, int priority) { +_public_ int sd_event_source_set_priority(sd_event_source *s, int64_t priority) { assert_return(s, -EINVAL); assert_return(s->event->state != SD_EVENT_FINISHED, -ESTALE); assert_return(!event_pid_changed(s->event), -ECHILD); diff --git a/src/systemd/sd-event.h b/src/systemd/sd-event.h index 4c1fbf2c3..b91148567 100644 --- a/src/systemd/sd-event.h +++ b/src/systemd/sd-event.h @@ -101,8 +101,8 @@ sd_event_source* sd_event_source_unref(sd_event_source *s); int sd_event_source_set_prepare(sd_event_source *s, sd_event_handler_t callback); int sd_event_source_get_pending(sd_event_source *s); -int sd_event_source_get_priority(sd_event_source *s, int *priority); -int sd_event_source_set_priority(sd_event_source *s, int priority); +int sd_event_source_get_priority(sd_event_source *s, int64_t *priority); +int sd_event_source_set_priority(sd_event_source *s, int64_t priority); int sd_event_source_get_enabled(sd_event_source *s, int *enabled); int sd_event_source_set_enabled(sd_event_source *s, int enabled); void* sd_event_source_get_userdata(sd_event_source *s);