chiark / gitweb /
event: extend priority raneg to 64bit
authorLennart Poettering <lennart@poettering.net>
Wed, 15 Jan 2014 08:08:20 +0000 (16:08 +0800)
committerLennart Poettering <lennart@poettering.net>
Wed, 15 Jan 2014 19:16:20 +0000 (20:16 +0100)
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.

src/libsystemd/sd-event.c
src/systemd/sd-event.h

index 0b7b71d16e5ed5f893dfe8d4ba402e887a1af6f6..f33a9ecf9ac8dee1b8d6ba4f74c68429d120ad9e 100644 (file)
@@ -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);
index 4c1fbf2c33f7c8db31347c8b66ba398d5d9f790f..b9114856714be5ca83a67eabad3d6a8fa07b5e3b 100644 (file)
@@ -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);