]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
add thread_instance to listen socket
authorAlan T. DeKok <aland@freeradius.org>
Wed, 19 Sep 2018 11:44:05 +0000 (07:44 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Wed, 19 Sep 2018 14:48:49 +0000 (10:48 -0400)
src/lib/io/listen.h
src/lib/io/network.c

index fab19a7c9a770885b4c9b0c108e147082139a613..9a5c78fca54d4a8293a0dbe6ab5ded066facca60 100644 (file)
@@ -24,7 +24,8 @@
 typedef struct fr_listen fr_listen_t;
 struct fr_listen {
        fr_app_io_t const       *app_io;                //!< I/O path functions.
-       void                    *app_io_instance;       //!< I/O path specific context.
+       void                    *app_io_instance;       //!< I/O path configuration context.
+       void                    *thread_instance;       //!< thread / socket context
 
        fr_app_t const          *app;
        void const              *app_instance;
index aaea6756b1f5b005616ac4bce12dd620b0cb48c3..d6addfde90901c062e17dbbc54dc7ba7c3c93e40 100644 (file)
@@ -794,7 +794,7 @@ static void fr_network_socket_callback(void *ctx, void const *data, size_t data_
        app_io = s->listen->app_io;
 
        rad_assert(app_io->fd);
-       s->fd = app_io->fd(s->listen->app_io_instance, NULL);
+       s->fd = app_io->fd(s->listen->app_io_instance, s->listen->thread_instance);
        s->filter = FR_EVENT_FILTER_IO;
 
        if (fr_event_fd_insert(nr, nr->el, s->fd,
@@ -865,7 +865,7 @@ static void fr_network_directory_callback(void *ctx, void const *data, size_t da
        if (app_io->event_list_set) app_io->event_list_set(s->listen->app_io_instance, nr->el, nr);
 
        rad_assert(app_io->fd);
-       s->fd = app_io->fd(s->listen->app_io_instance, NULL);
+       s->fd = app_io->fd(s->listen->app_io_instance, s->listen->thread_instance);
        s->filter = FR_EVENT_FILTER_VNODE;
 
        if (fr_event_filter_insert(nr, nr->el, s->fd, s->filter,