chiark / gitweb /
bus: return ECHILD as soon as people try to reuse a bus connection across a fork()
[elogind.git] / src / libsystemd-bus / bus-match.h
index a31c5d67dc9022bea553af2d7715eed43ccee207..4d46cf9aff1b53281e936c83b601c0e1758949f6 100644 (file)
@@ -54,12 +54,13 @@ struct bus_match_node {
 
         union {
                 struct {
-                        uint8_t u8;
                         char *str;
+                        uint8_t u8;
                 } value;
                 struct {
                         sd_bus_message_handler_t callback;
                         void *userdata;
+                        unsigned last_iteration;
                 } leaf;
                 struct {
                         /* If this is set, then the child is NULL */
@@ -68,7 +69,7 @@ struct bus_match_node {
         };
 };
 
-int bus_match_run(sd_bus *bus, struct bus_match_node *root, int ret, sd_bus_message *m);
+int bus_match_run(sd_bus *bus, struct bus_match_node *root, sd_bus_message *m);
 
 int bus_match_add(struct bus_match_node *root, const char *match, sd_bus_message_handler_t callback, void *userdata, struct bus_match_node **ret);
 int bus_match_remove(struct bus_match_node *root, const char *match, sd_bus_message_handler_t callback, void *userdata);