chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
core: convert PID 1 to libsystemd-bus
[elogind.git]
/
src
/
libsystemd-bus
/
sd-event.c
diff --git
a/src/libsystemd-bus/sd-event.c
b/src/libsystemd-bus/sd-event.c
index 8025d24bb7e34d1f0c0b3e7b1b6e7d7dc0c651d6..5cb3bccc5aecc08e392f9b6221cbc19369b36a43 100644
(file)
--- a/
src/libsystemd-bus/sd-event.c
+++ b/
src/libsystemd-bus/sd-event.c
@@
-51,7
+51,7
@@
struct sd_event_source {
sd_event *event;
void *userdata;
sd_event *event;
void *userdata;
- sd_
prepare
_handler_t prepare;
+ sd_
event
_handler_t prepare;
EventSourceType type:4;
int enabled:3;
EventSourceType type:4;
int enabled:3;
@@
-65,34
+65,34
@@
struct sd_event_source {
union {
struct {
union {
struct {
- sd_io_handler_t callback;
+ sd_
event_
io_handler_t callback;
int fd;
uint32_t events;
uint32_t revents;
bool registered:1;
} io;
struct {
int fd;
uint32_t events;
uint32_t revents;
bool registered:1;
} io;
struct {
- sd_time_handler_t callback;
+ sd_
event_
time_handler_t callback;
usec_t next, accuracy;
unsigned earliest_index;
unsigned latest_index;
} time;
struct {
usec_t next, accuracy;
unsigned earliest_index;
unsigned latest_index;
} time;
struct {
- sd_signal_handler_t callback;
+ sd_
event_
signal_handler_t callback;
struct signalfd_siginfo siginfo;
int sig;
} signal;
struct {
struct signalfd_siginfo siginfo;
int sig;
} signal;
struct {
- sd_child_handler_t callback;
+ sd_
event_
child_handler_t callback;
siginfo_t siginfo;
pid_t pid;
int options;
} child;
struct {
siginfo_t siginfo;
pid_t pid;
int options;
} child;
struct {
- sd_
defer
_handler_t callback;
+ sd_
event
_handler_t callback;
} defer;
struct {
} defer;
struct {
- sd_
qui
t_handler_t callback;
+ sd_
even
t_handler_t callback;
unsigned prioq_index;
} quit;
};
unsigned prioq_index;
} quit;
};
@@
-567,7
+567,7
@@
_public_ int sd_event_add_io(
sd_event *e,
int fd,
uint32_t events,
sd_event *e,
int fd,
uint32_t events,
- sd_io_handler_t callback,
+ sd_
event_
io_handler_t callback,
void *userdata,
sd_event_source **ret) {
void *userdata,
sd_event_source **ret) {
@@
-655,7
+655,7
@@
static int event_add_time_internal(
Prioq **latest,
uint64_t usec,
uint64_t accuracy,
Prioq **latest,
uint64_t usec,
uint64_t accuracy,
- sd_time_handler_t callback,
+ sd_
event_
time_handler_t callback,
void *userdata,
sd_event_source **ret) {
void *userdata,
sd_event_source **ret) {
@@
-722,7
+722,7
@@
fail:
_public_ int sd_event_add_monotonic(sd_event *e,
uint64_t usec,
uint64_t accuracy,
_public_ int sd_event_add_monotonic(sd_event *e,
uint64_t usec,
uint64_t accuracy,
- sd_time_handler_t callback,
+ sd_
event_
time_handler_t callback,
void *userdata,
sd_event_source **ret) {
void *userdata,
sd_event_source **ret) {
@@
-732,7
+732,7
@@
_public_ int sd_event_add_monotonic(sd_event *e,
_public_ int sd_event_add_realtime(sd_event *e,
uint64_t usec,
uint64_t accuracy,
_public_ int sd_event_add_realtime(sd_event *e,
uint64_t usec,
uint64_t accuracy,
- sd_time_handler_t callback,
+ sd_
event_
time_handler_t callback,
void *userdata,
sd_event_source **ret) {
void *userdata,
sd_event_source **ret) {
@@
-774,7
+774,7
@@
static int event_update_signal_fd(sd_event *e) {
_public_ int sd_event_add_signal(
sd_event *e,
int sig,
_public_ int sd_event_add_signal(
sd_event *e,
int sig,
- sd_signal_handler_t callback,
+ sd_
event_
signal_handler_t callback,
void *userdata,
sd_event_source **ret) {
void *userdata,
sd_event_source **ret) {
@@
-824,7
+824,7
@@
_public_ int sd_event_add_child(
sd_event *e,
pid_t pid,
int options,
sd_event *e,
pid_t pid,
int options,
- sd_child_handler_t callback,
+ sd_
event_
child_handler_t callback,
void *userdata,
sd_event_source **ret) {
void *userdata,
sd_event_source **ret) {
@@
-883,7
+883,7
@@
_public_ int sd_event_add_child(
_public_ int sd_event_add_defer(
sd_event *e,
_public_ int sd_event_add_defer(
sd_event *e,
- sd_
defer
_handler_t callback,
+ sd_
event
_handler_t callback,
void *userdata,
sd_event_source **ret) {
void *userdata,
sd_event_source **ret) {
@@
-916,7
+916,7
@@
_public_ int sd_event_add_defer(
_public_ int sd_event_add_quit(
sd_event *e,
_public_ int sd_event_add_quit(
sd_event *e,
- sd_
qui
t_handler_t callback,
+ sd_
even
t_handler_t callback,
void *userdata,
sd_event_source **ret) {
void *userdata,
sd_event_source **ret) {
@@
-1241,6
+1241,7
@@
_public_ int sd_event_source_set_time(sd_event_source *s, uint64_t usec) {
return 0;
s->time.next = usec;
return 0;
s->time.next = usec;
+ source_set_pending(s, false);
if (s->type == SOURCE_REALTIME) {
prioq_reshuffle(s->event->realtime_earliest, s, &s->time.earliest_index);
if (s->type == SOURCE_REALTIME) {
prioq_reshuffle(s->event->realtime_earliest, s, &s->time.earliest_index);
@@
-1296,7
+1297,7
@@
_public_ int sd_event_source_get_child_pid(sd_event_source *s, pid_t *pid) {
return 0;
}
return 0;
}
-_public_ int sd_event_source_set_prepare(sd_event_source *s, sd_
prepare
_handler_t callback) {
+_public_ int sd_event_source_set_prepare(sd_event_source *s, sd_
event
_handler_t callback) {
int r;
assert_return(s, -EINVAL);
int r;
assert_return(s, -EINVAL);
@@
-1906,8
+1907,12
@@
_public_ int sd_event_default(sd_event **ret) {
_public_ int sd_event_get_tid(sd_event *e, pid_t *tid) {
assert_return(e, -EINVAL);
assert_return(tid, -EINVAL);
_public_ int sd_event_get_tid(sd_event *e, pid_t *tid) {
assert_return(e, -EINVAL);
assert_return(tid, -EINVAL);
- assert_return(
e->tid != 0, -ENXIO
);
+ assert_return(
!event_pid_changed(e), -ECHILD
);
- *tid = e->tid;
- return 0;
+ if (e->tid != 0) {
+ *tid = e->tid;
+ return 0;
+ }
+
+ return -ENXIO;
}
}