]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: server/event_hdl: expose updater info through INETADDR event
authorAurelien DARRAGON <adarragon@haproxy.com>
Mon, 11 Dec 2023 16:14:24 +0000 (17:14 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Thu, 21 Dec 2023 13:22:27 +0000 (14:22 +0100)
Thanks to the previous commit, we can now expose updater info through
INETADDR event.

include/haproxy/server-t.h
src/server.c

index 555eace61b1de16af9828cb660077ff9e2a1313e..e2233a4a0de8fc84d2ce8a5cfb6fc0779950838e 100644 (file)
@@ -669,6 +669,7 @@ struct event_hdl_cb_data_server_inetaddr {
        struct {
                struct server_inetaddr prev;
                struct server_inetaddr next;
+               struct server_inetaddr_updater updater;
        } safe;
        /* no unsafe data */
 };
index e9df3f416d7d60145828baa72ce9075b93274ef8..44a757069fdf0d303220e9ad333db2668d010d71 100644 (file)
@@ -436,7 +436,8 @@ void _srv_event_hdl_prepare_state(struct event_hdl_cb_data_server_state *cb_data
  */
 static void _srv_event_hdl_prepare_inetaddr(struct event_hdl_cb_data_server_inetaddr *cb_data,
                                             struct server *srv,
-                                            const struct server_inetaddr *next_inetaddr)
+                                            const struct server_inetaddr *next_inetaddr,
+                                            struct server_inetaddr_updater updater)
 {
        struct server_inetaddr prev_inetaddr;
 
@@ -451,6 +452,9 @@ static void _srv_event_hdl_prepare_inetaddr(struct event_hdl_cb_data_server_inet
 
        /* next */
        cb_data->safe.next = *next_inetaddr;
+
+       /* updater */
+       cb_data->safe.updater = updater;
 }
 
 /* server event publishing helper: publish in both global and
@@ -3945,7 +3949,8 @@ int server_set_inetaddr(struct server *s,
        if (ip_change || port_change) {
                _srv_event_hdl_prepare(&cb_data.common, s, 0);
                _srv_event_hdl_prepare_inetaddr(&cb_data.addr, s,
-                                               inetaddr);
+                                               inetaddr,
+                                               updater);
 
                /* server_atomic_sync_task will apply the changes for us */
                _srv_event_hdl_publish(EVENT_HDL_SUB_SERVER_INETADDR, cb_data, s);