solanum-vs-hackint-and-char.../librb/src/export-syms.txt
Ed Kellett 59ea3c6753 Delay rehashing until we're not processing events
Fixes crash introduced by 0ab6dbbc65. It's
probably a regression since it defeats a system designed to stop this
from happening, but I didn't dig through the history.

rehash() closes listeners. If we happen to get a single epoll() result
that wants to first rehash and then accept a connection, the epoll info
will point to a freed rb_fde_t. Other selectors should have similar
problems, but we didn't investigate that.

rb_fde_ts are normally batched up and freed outside the event
processing, but as of the above commit close_listeners() screws that up
by closing pending FDs immediately in order to create new listeners.

I think it might be a bit better to revert this behaviour and simply not
close listeners if we are going to open new ones over them, but have
opted for the smallest reasonable change I can think of.

Helped-by: Eric Mertens <emertens@gmail.com>
2023-11-06 14:22:55 +00:00

192 lines
3.1 KiB
Text

make_and_lookup
make_and_lookup_ip
rb_accept_tcp
rb_base64_decode
rb_base64_encode
rb_basename
rb_bh_alloc
rb_bh_create
rb_bh_destroy
rb_bh_free
rb_bh_total_usage
rb_bh_usage
rb_bh_usage_all
rb_bind
rb_checktimeouts
rb_clear_cloexec
rb_clear_patricia
rb_close
rb_close_pending_fds
rb_connect_sockaddr
rb_connect_tcp
rb_connect_tcp_ssl
rb_connect_sctp
rb_count_rb_linebuf_memory
rb_crypt
rb_ctime
rb_current_time
rb_current_time_tv
rb_date
rb_defer
rb_destroy_patricia
rb_dictionary_add
rb_dictionary_create
rb_dictionary_delete
rb_dictionary_destroy
rb_dictionary_find
rb_dictionary_foreach_cur
rb_dictionary_foreach_next
rb_dictionary_foreach_start
rb_dictionary_retrieve
rb_dictionary_size
rb_dictionary_stats
rb_dictionary_stats_walk
rb_dirname
rb_dump_events
rb_dump_fd
rb_errstr
rb_event_add
rb_event_addish
rb_event_addonce
rb_event_delete
rb_event_find_delete
rb_event_init
rb_event_next
rb_event_run
rb_event_update
rb_fd_ssl
rb_fdlist_init
rb_free_rawbuffer
rb_free_rb_dlink_node
rb_get_fd
rb_get_fde
rb_get_iotype
rb_get_random
rb_get_sockerr
rb_get_ssl_certfp
rb_get_ssl_certfp_file
rb_get_ssl_strerror
rb_get_type
rb_getmaxconnect
rb_getpid
rb_gettimeofday
rb_fsnprint
rb_fsnprintf
rb_helper_child
rb_helper_close
rb_helper_loop
rb_helper_read
rb_helper_restart
rb_helper_run
rb_helper_start
rb_helper_write
rb_helper_write_queue
rb_ignore_errno
rb_inet_get_proto
rb_inet_ntop
rb_inet_ntop_sock
rb_inet_pton
rb_inet_pton_sock
rb_init_bh
rb_init_netio
rb_init_patricia
rb_init_prng
rb_init_rawbuffers
rb_init_rb_dlink_nodes
rb_ipv4_from_ipv6
rb_kill
rb_lib_die
rb_lib_init
rb_lib_log
rb_lib_loop
rb_lib_restart
rb_lib_version
rb_linebuf_attach
rb_linebuf_donebuf
rb_linebuf_flush
rb_linebuf_get
rb_linebuf_init
rb_linebuf_newbuf
rb_linebuf_parse
rb_linebuf_put
rb_listen
rb_make_rb_dlink_node
rb_match_exact_string
rb_match_ip
rb_match_ip_exact
rb_match_string
rb_new_patricia
rb_new_rawbuffer
rb_note
rb_open
rb_outofmemory
rb_path_to_self
rb_patricia_lookup
rb_patricia_process
rb_patricia_remove
rb_patricia_search_best
rb_patricia_search_best2
rb_patricia_search_exact
rb_pipe
rb_radixtree_add
rb_radixtree_create
rb_radixtree_delete
rb_radixtree_elem_add
rb_radixtree_elem_delete
rb_radixtree_elem_find
rb_radixtree_elem_get_data
rb_radixtree_elem_get_key
rb_radixtree_elem_set_data
rb_radixtree_foreach_cur
rb_radixtree_foreach_next
rb_radixtree_foreach_start
rb_radixtree_foreach_start_from
rb_radixtree_retrieve
rb_radixtree_size
rb_radixtree_stats
rb_radixtree_stats_walk
rb_rawbuf_append
rb_rawbuf_flush
rb_rawbuf_get
rb_rawbuf_length
rb_read
rb_recv_fd_buf
rb_run_one_event
rb_sctp_bindx
rb_select
rb_send_fd_buf
rb_set_buffers
rb_set_cloexec
rb_set_nb
rb_set_time
rb_set_type
rb_setenv
rb_setselect
rb_settimeout
rb_setup_fd
rb_setup_ssl_server
rb_sleep
rb_snprintf_append
rb_snprintf_try_append
rb_socket
rb_socketpair
rb_spawn_process
rb_ssl_clear_handshake_count
rb_ssl_get_cipher
rb_ssl_handshake_count
rb_ssl_listen
rb_ssl_start_accepted
rb_ssl_start_connected
rb_strcasecmp
rb_strcasestr
rb_strerror
rb_string_to_array
rb_strlcat
rb_strlcpy
rb_strncasecmp
rb_strnlen
rb_strtok_r
rb_supports_ssl
rb_waitpid
rb_write
rb_writev