};
if (s->event) {
- r = sd_event_add_io(s->event, &ss->event_source, fd, EPOLLIN, connect_callback, ss);
- if (r < 0)
- return r;
-
- r = sd_event_source_set_priority(ss->event_source, s->event_priority);
+ r = varlink_server_add_socket_event_source(s, ss);
if (r < 0)
return r;
}
return 0;
}
-int varlink_server_add_socket_event_source(sd_varlink_server *s, VarlinkServerSocket *ss, int64_t priority) {
+int varlink_server_add_socket_event_source(sd_varlink_server *s, VarlinkServerSocket *ss) {
_cleanup_(sd_event_source_unrefp) sd_event_source *es = NULL;
int r;
assert(s);
assert(s->event);
assert(ss);
+ assert(ss->server == s);
assert(ss->fd >= 0);
assert(!ss->event_source);
if (r < 0)
return r;
- r = sd_event_source_set_priority(es, priority);
+ r = sd_event_source_set_priority(es, s->event_priority);
if (r < 0)
return r;
return r;
}
+ s->event_priority = priority;
+
LIST_FOREACH(sockets, ss, s->sockets) {
- r = varlink_server_add_socket_event_source(s, ss, priority);
+ r = varlink_server_add_socket_event_source(s, ss);
if (r < 0)
goto fail;
}
- s->event_priority = priority;
return 0;
fail:
VarlinkServerSocket* varlink_server_socket_free(VarlinkServerSocket *ss);
DEFINE_TRIVIAL_CLEANUP_FUNC(VarlinkServerSocket *, varlink_server_socket_free);
-int varlink_server_add_socket_event_source(sd_varlink_server *s, VarlinkServerSocket *ss, int64_t priority);
+int varlink_server_add_socket_event_source(sd_varlink_server *s, VarlinkServerSocket *ss);
.fd = fdset_remove(fds, fd),
};
- r = varlink_server_add_socket_event_source(s, ss, SD_EVENT_PRIORITY_NORMAL);
+ r = varlink_server_add_socket_event_source(s, ss);
if (r < 0)
return varlink_server_log_errno(s, r, "Failed to add VarlinkServerSocket event source to the event loop: %m");