{
fr_network_socket_t *s = ctx;
- s->listen->app_io->error(s->listen->app_io_instance);
+ if (s->listen->app_io->error) {
+ s->listen->app_io->error(s->listen->app_io_instance);
+ }
+
fr_network_socket_dead(talloc_parent(s), s);
}
if (fr_event_fd_insert(nr, nr->el, s->fd,
fr_network_read,
NULL,
- listen->app_io->error ? fr_network_error : NULL,
+ fr_network_error,
s) < 0) {
PERROR("Failed adding new socket to event loop");
fr_network_socket_dead(nr, s);
if (fr_event_fd_insert(nr, nr->el, s->fd,
fr_network_read,
NULL,
- app_io->error ? fr_network_error : NULL,
+ fr_network_error,
s) < 0) {
PERROR("Failed adding new socket to event loop");
talloc_free(s);
if (fr_event_fd_insert(nr, nr->el, s->fd,
fr_network_read,
fr_network_write,
- listen->app_io->error ? fr_network_error : NULL,
+ fr_network_error,
s) < 0) {
PERROR("Failed adding write callback to event loop");
goto error;