mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-04-28 11:50:21 +00:00
*: Convert thread_master_XXX functions to event_master_XXX
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
This commit is contained in:
parent
e16d030c65
commit
ce50d11c4d
@ -3897,7 +3897,7 @@ int bgp_delete(struct bgp *bgp)
|
||||
if (bgp->process_queue)
|
||||
work_queue_free_and_null(&bgp->process_queue);
|
||||
|
||||
thread_master_free_unused(bm->master);
|
||||
event_master_free_unused(bm->master);
|
||||
bgp_unlock(bgp); /* initial reference */
|
||||
|
||||
return 0;
|
||||
|
20
lib/event.c
20
lib/event.c
@ -544,7 +544,7 @@ static void initializer(void)
|
||||
pthread_key_create(&thread_current, NULL);
|
||||
}
|
||||
|
||||
struct event_master *thread_master_create(const char *name)
|
||||
struct event_master *event_master_create(const char *name)
|
||||
{
|
||||
struct event_master *rv;
|
||||
struct rlimit limit;
|
||||
@ -623,7 +623,7 @@ struct event_master *thread_master_create(const char *name)
|
||||
return rv;
|
||||
}
|
||||
|
||||
void thread_master_set_name(struct event_master *master, const char *name)
|
||||
void event_master_set_name(struct event_master *master, const char *name)
|
||||
{
|
||||
frr_with_mutex (&master->mtx) {
|
||||
XFREE(MTYPE_EVENT_MASTER, master->name);
|
||||
@ -682,14 +682,14 @@ static void thread_array_free(struct event_master *m,
|
||||
}
|
||||
|
||||
/*
|
||||
* thread_master_free_unused
|
||||
* event_master_free_unused
|
||||
*
|
||||
* As threads are finished with they are put on the
|
||||
* unuse list for later reuse.
|
||||
* If we are shutting down, Free up unused threads
|
||||
* So we can see if we forget to shut anything off
|
||||
*/
|
||||
void thread_master_free_unused(struct event_master *m)
|
||||
void event_master_free_unused(struct event_master *m)
|
||||
{
|
||||
frr_with_mutex (&m->mtx) {
|
||||
struct event *t;
|
||||
@ -699,7 +699,7 @@ void thread_master_free_unused(struct event_master *m)
|
||||
}
|
||||
|
||||
/* Stop thread scheduler. */
|
||||
void thread_master_free(struct event_master *m)
|
||||
void event_master_free(struct event_master *m)
|
||||
{
|
||||
struct event *t;
|
||||
|
||||
@ -858,7 +858,7 @@ static int fd_poll(struct event_master *m, const struct timeval *timer_wait,
|
||||
|
||||
/*
|
||||
* If timer_wait is null here, that means poll() should block
|
||||
* indefinitely, unless the thread_master has overridden it by setting
|
||||
* indefinitely, unless the event_master has overridden it by setting
|
||||
* ->selectpoll_timeout.
|
||||
*
|
||||
* If the value is positive, it specifies the maximum number of
|
||||
@ -1320,7 +1320,7 @@ static void cancel_arg_helper(struct event_master *master,
|
||||
/**
|
||||
* Process cancellation requests.
|
||||
*
|
||||
* This may only be run from the pthread which owns the thread_master.
|
||||
* This may only be run from the pthread which owns the event_master.
|
||||
*
|
||||
* @param master the thread master to process
|
||||
* @REQUIRE master->mtx
|
||||
@ -1433,7 +1433,7 @@ static void cancel_event_helper(struct event_master *m, void *arg, int flags)
|
||||
*
|
||||
* MT-Unsafe
|
||||
*
|
||||
* @param m the thread_master to cancel from
|
||||
* @param m the event_master to cancel from
|
||||
* @param arg the argument passed when creating the event
|
||||
*/
|
||||
void event_cancel_event(struct event_master *master, void *arg)
|
||||
@ -1446,7 +1446,7 @@ void event_cancel_event(struct event_master *master, void *arg)
|
||||
*
|
||||
* MT-Unsafe
|
||||
*
|
||||
* @param m the thread_master to cancel from
|
||||
* @param m the event_master to cancel from
|
||||
* @param arg the argument passed when creating the event
|
||||
*/
|
||||
void event_cancel_event_ready(struct event_master *m, void *arg)
|
||||
@ -1502,7 +1502,7 @@ void event_cancel(struct event **thread)
|
||||
* The last two parameters are mutually exclusive, i.e. if you pass one the
|
||||
* other must be NULL.
|
||||
*
|
||||
* When the cancellation procedure executes on the target thread_master, the
|
||||
* When the cancellation procedure executes on the target event_master, the
|
||||
* thread * provided is checked for nullity. If it is null, the thread is
|
||||
* assumed to no longer exist and the cancellation request is a no-op. Thus
|
||||
* users of this API must pass a back-reference when scheduling the original
|
||||
|
@ -209,10 +209,10 @@ struct cpu_event_history {
|
||||
}) /* end */
|
||||
|
||||
/* Prototypes. */
|
||||
extern struct event_master *thread_master_create(const char *name);
|
||||
void thread_master_set_name(struct event_master *master, const char *name);
|
||||
extern void thread_master_free(struct event_master *m);
|
||||
extern void thread_master_free_unused(struct event_master *m);
|
||||
extern struct event_master *event_master_create(const char *name);
|
||||
void event_master_set_name(struct event_master *master, const char *name);
|
||||
extern void event_master_free(struct event_master *m);
|
||||
extern void event_master_free_unused(struct event_master *m);
|
||||
|
||||
extern void _event_add_read_write(const struct xref_eventsched *xref,
|
||||
struct event_master *master,
|
||||
|
@ -75,7 +75,7 @@ struct frr_pthread *frr_pthread_new(const struct frr_pthread_attr *attr,
|
||||
/* initialize mutex */
|
||||
pthread_mutex_init(&fpt->mtx, NULL);
|
||||
/* create new thread master */
|
||||
fpt->master = thread_master_create(name);
|
||||
fpt->master = event_master_create(name);
|
||||
/* set attributes */
|
||||
fpt->attr = *attr;
|
||||
name = (name ? name : "Anonymous thread");
|
||||
@ -101,7 +101,7 @@ struct frr_pthread *frr_pthread_new(const struct frr_pthread_attr *attr,
|
||||
|
||||
static void frr_pthread_destroy_nolock(struct frr_pthread *fpt)
|
||||
{
|
||||
thread_master_free(fpt->master);
|
||||
event_master_free(fpt->master);
|
||||
pthread_mutex_destroy(&fpt->mtx);
|
||||
pthread_mutex_destroy(fpt->running_cond_mtx);
|
||||
pthread_cond_destroy(fpt->running_cond);
|
||||
|
@ -29,7 +29,7 @@ int main(int argc, char **argv)
|
||||
{
|
||||
struct event event;
|
||||
|
||||
master = thread_master_create(NULL);
|
||||
master = event_master_create(NULL);
|
||||
|
||||
zlog_aux_init("NONE: ", LOG_DEBUG);
|
||||
|
||||
|
@ -769,7 +769,7 @@ struct event_master *frr_init(void)
|
||||
|
||||
zprivs_init(di->privs);
|
||||
|
||||
master = thread_master_create(NULL);
|
||||
master = event_master_create(NULL);
|
||||
signal_init(master, di->n_signals, di->signals);
|
||||
hook_call(frr_early_init, master);
|
||||
|
||||
@ -1213,7 +1213,7 @@ void frr_fini(void)
|
||||
frr_pthread_finish();
|
||||
zprivs_terminate(di->privs);
|
||||
/* signal_init -> nothing needed */
|
||||
thread_master_free(master);
|
||||
event_master_free(master);
|
||||
master = NULL;
|
||||
zlog_tls_buffer_fini();
|
||||
zlog_fini();
|
||||
|
@ -293,7 +293,7 @@ int main(int argc, char *argv[])
|
||||
/* Initialization */
|
||||
zprivs_preinit(&ospfd_privs);
|
||||
zprivs_init(&ospfd_privs);
|
||||
master = thread_master_create(NULL);
|
||||
master = event_master_create(NULL);
|
||||
|
||||
/* Open connection to OSPF daemon */
|
||||
oclient = ospf_apiclient_connect(args[1], ASYNCPORT);
|
||||
|
@ -1405,7 +1405,7 @@ int main(void)
|
||||
{
|
||||
int i = 0;
|
||||
qobj_init();
|
||||
bgp_master_init(thread_master_create(NULL), BGP_SOCKET_SNDBUF_SIZE,
|
||||
bgp_master_init(event_master_create(NULL), BGP_SOCKET_SNDBUF_SIZE,
|
||||
list_new());
|
||||
master = bm->master;
|
||||
bgp_option_set(BGP_OPT_NO_LISTEN);
|
||||
|
@ -925,7 +925,7 @@ int main(void)
|
||||
term_bgp_debug_as4 = -1UL;
|
||||
|
||||
qobj_init();
|
||||
master = thread_master_create(NULL);
|
||||
master = event_master_create(NULL);
|
||||
bgp_master_init(master, BGP_SOCKET_SNDBUF_SIZE, list_new());
|
||||
vrf_init(NULL, NULL, NULL, NULL);
|
||||
bgp_option_set(BGP_OPT_NO_LISTEN);
|
||||
|
@ -1070,7 +1070,7 @@ int main(void)
|
||||
qobj_init();
|
||||
cmd_init(0);
|
||||
bgp_vty_init();
|
||||
master = thread_master_create("test mp attr");
|
||||
master = event_master_create("test mp attr");
|
||||
bgp_master_init(master, BGP_SOCKET_SNDBUF_SIZE, list_new());
|
||||
vrf_init(NULL, NULL, NULL, NULL);
|
||||
bgp_option_set(BGP_OPT_NO_LISTEN);
|
||||
|
@ -378,7 +378,7 @@ int all_tests_count = array_size(all_tests);
|
||||
static int global_test_init(void)
|
||||
{
|
||||
qobj_init();
|
||||
master = thread_master_create(NULL);
|
||||
master = event_master_create(NULL);
|
||||
zclient = zclient_new(master, &zclient_options_default, NULL, 0);
|
||||
bgp_master_init(master, BGP_SOCKET_SNDBUF_SIZE, list_new());
|
||||
vrf_init(NULL, NULL, NULL, NULL);
|
||||
@ -393,7 +393,7 @@ static int global_test_cleanup(void)
|
||||
{
|
||||
if (zclient != NULL)
|
||||
zclient_free(zclient);
|
||||
thread_master_free(master);
|
||||
event_master_free(master);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -45,7 +45,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
qobj_init();
|
||||
bgp_attr_init();
|
||||
master = thread_master_create(NULL);
|
||||
master = event_master_create(NULL);
|
||||
bgp_master_init(master, BGP_SOCKET_SNDBUF_SIZE, list_new());
|
||||
vrf_init(NULL, NULL, NULL, NULL);
|
||||
bgp_option_set(BGP_OPT_NO_LISTEN);
|
||||
|
@ -1363,7 +1363,7 @@ static void bgp_startup(void)
|
||||
zprivs_preinit(&bgpd_privs);
|
||||
zprivs_init(&bgpd_privs);
|
||||
|
||||
master = thread_master_create(NULL);
|
||||
master = event_master_create(NULL);
|
||||
nb_init(master, NULL, 0, false);
|
||||
bgp_master_init(master, BGP_SOCKET_SNDBUF_SIZE, list_new());
|
||||
bgp_option_set(BGP_OPT_NO_LISTEN);
|
||||
@ -1412,7 +1412,7 @@ static void bgp_shutdown(void)
|
||||
nb_terminate();
|
||||
yang_terminate();
|
||||
zprivs_terminate(&bgpd_privs);
|
||||
thread_master_free(master);
|
||||
event_master_free(master);
|
||||
master = NULL;
|
||||
}
|
||||
|
||||
|
@ -92,7 +92,7 @@ int main(int argc, char **argv)
|
||||
progname = ((p = strrchr(argv[0], '/')) ? ++p : argv[0]);
|
||||
|
||||
/* master init. */
|
||||
master = thread_master_create(NULL);
|
||||
master = event_master_create(NULL);
|
||||
|
||||
while (1) {
|
||||
int opt;
|
||||
|
@ -455,7 +455,7 @@ static void vty_do_exit(int isexit)
|
||||
cmd_terminate();
|
||||
vty_terminate();
|
||||
yang_terminate();
|
||||
thread_master_free(master);
|
||||
event_master_free(master);
|
||||
|
||||
log_memstats(stderr, "test-isis-spf");
|
||||
if (!isexit)
|
||||
@ -521,7 +521,7 @@ int main(int argc, char **argv)
|
||||
}
|
||||
|
||||
/* master init. */
|
||||
master = thread_master_create(NULL);
|
||||
master = event_master_create(NULL);
|
||||
isis_master_init(master);
|
||||
|
||||
/* Library inits. */
|
||||
|
@ -39,7 +39,7 @@ static void vty_do_exit(int isexit)
|
||||
vty_terminate();
|
||||
nb_terminate();
|
||||
yang_terminate();
|
||||
thread_master_free(master);
|
||||
event_master_free(master);
|
||||
|
||||
log_memstats(stderr, "testcli");
|
||||
if (!isexit)
|
||||
@ -59,7 +59,7 @@ int main(int argc, char **argv)
|
||||
umask(0027);
|
||||
|
||||
/* master init. */
|
||||
master = thread_master_create(NULL);
|
||||
master = event_master_create(NULL);
|
||||
|
||||
zlog_aux_init("NONE: ", test_log_prio);
|
||||
|
||||
|
@ -94,7 +94,7 @@ int main(int argc, char **argv)
|
||||
cfg->fd = fd;
|
||||
|
||||
cmd_hostname_set("TEST");
|
||||
cfg->master = thread_master_create("TEST");
|
||||
cfg->master = event_master_create("TEST");
|
||||
|
||||
zlog_5424_apply_dst(cfg);
|
||||
|
||||
|
@ -351,7 +351,7 @@ static void vty_do_exit(int isexit)
|
||||
vty_terminate();
|
||||
nb_terminate();
|
||||
yang_terminate();
|
||||
thread_master_free(master);
|
||||
event_master_free(master);
|
||||
|
||||
log_memstats(stderr, "test-nb-oper-data");
|
||||
if (!isexit)
|
||||
@ -377,7 +377,7 @@ int main(int argc, char **argv)
|
||||
umask(0027);
|
||||
|
||||
/* master init. */
|
||||
master = thread_master_create(NULL);
|
||||
master = event_master_create(NULL);
|
||||
|
||||
zlog_aux_init("NONE: ", ZLOG_DISABLED);
|
||||
|
||||
|
@ -39,7 +39,7 @@ int main(int argc, char **argv)
|
||||
assertf(number > 1, "(B) the number was %d", number);
|
||||
|
||||
/* set up SIGABRT handler */
|
||||
master = thread_master_create("test");
|
||||
master = event_master_create("test");
|
||||
signal_init(master, 0, NULL);
|
||||
|
||||
func_for_bt(number);
|
||||
|
@ -97,7 +97,7 @@ static void static_startup(void)
|
||||
|
||||
static_debug_init();
|
||||
|
||||
master = thread_master_create(NULL);
|
||||
master = event_master_create(NULL);
|
||||
nb_init(master, staticd_yang_modules, array_size(staticd_yang_modules),
|
||||
false);
|
||||
|
||||
@ -139,7 +139,7 @@ static void static_shutdown(void)
|
||||
cmd_terminate();
|
||||
nb_terminate();
|
||||
yang_terminate();
|
||||
thread_master_free(master);
|
||||
event_master_free(master);
|
||||
master = NULL;
|
||||
}
|
||||
|
||||
|
@ -56,7 +56,7 @@ static void threadfunc(struct event *thread)
|
||||
|
||||
int main(void)
|
||||
{
|
||||
master = thread_master_create(NULL);
|
||||
master = event_master_create(NULL);
|
||||
signal_init(master, array_size(sigs), sigs);
|
||||
|
||||
zlog_aux_init("NONE: ", LOG_DEBUG);
|
||||
|
@ -40,7 +40,7 @@ struct event t;
|
||||
|
||||
int main(void)
|
||||
{
|
||||
master = thread_master_create(NULL);
|
||||
master = event_master_create(NULL);
|
||||
signal_init(master, array_size(sigs), sigs);
|
||||
|
||||
zlog_aux_init("NONE: ", LOG_DEBUG);
|
||||
|
@ -54,7 +54,7 @@ static void terminate_test(void)
|
||||
exit_code = 0;
|
||||
}
|
||||
|
||||
thread_master_free(master);
|
||||
event_master_free(master);
|
||||
XFREE(MTYPE_TMP, log_buf);
|
||||
XFREE(MTYPE_TMP, expected_buf);
|
||||
prng_free(prng);
|
||||
@ -97,7 +97,7 @@ int main(int argc, char **argv)
|
||||
struct event t;
|
||||
struct timeval **alarms;
|
||||
|
||||
master = thread_master_create(NULL);
|
||||
master = event_master_create(NULL);
|
||||
|
||||
log_buf_len = SCHEDULE_TIMERS * (TIMESTR_LEN + 1) + 1;
|
||||
log_buf_pos = 0;
|
||||
|
@ -34,7 +34,7 @@ int main(int argc, char **argv)
|
||||
struct timeval tv_start, tv_lap, tv_stop;
|
||||
unsigned long t_schedule, t_remove;
|
||||
|
||||
master = thread_master_create(NULL);
|
||||
master = event_master_create(NULL);
|
||||
prng = prng_new(0);
|
||||
timers = calloc(SCHEDULE_TIMERS, sizeof(*timers));
|
||||
|
||||
@ -80,7 +80,7 @@ int main(int argc, char **argv)
|
||||
fflush(stdout);
|
||||
|
||||
free(timers);
|
||||
thread_master_free(master);
|
||||
event_master_free(master);
|
||||
prng_free(prng);
|
||||
return 0;
|
||||
}
|
||||
|
@ -266,7 +266,7 @@ static void run_server(int syncfd)
|
||||
char dummy = 0;
|
||||
struct event t;
|
||||
|
||||
master = thread_master_create(NULL);
|
||||
master = event_master_create(NULL);
|
||||
signal_init(master, array_size(sigs), sigs);
|
||||
frrzmq_init();
|
||||
|
||||
@ -284,7 +284,7 @@ static void run_server(int syncfd)
|
||||
|
||||
zmq_close(zmqsock);
|
||||
frrzmq_finish();
|
||||
thread_master_free(master);
|
||||
event_master_free(master);
|
||||
log_memstats_stderr("test");
|
||||
}
|
||||
|
||||
|
@ -208,7 +208,7 @@ static void vty_do_exit(int isexit)
|
||||
|
||||
cmd_terminate();
|
||||
vty_terminate();
|
||||
thread_master_free(master);
|
||||
event_master_free(master);
|
||||
|
||||
if (!isexit)
|
||||
exit(0);
|
||||
@ -273,7 +273,7 @@ int main(int argc, char **argv)
|
||||
}
|
||||
|
||||
/* master init. */
|
||||
master = thread_master_create(NULL);
|
||||
master = event_master_create(NULL);
|
||||
|
||||
/* Library inits. */
|
||||
cmd_init(1);
|
||||
|
@ -228,7 +228,7 @@ static void vtysh_rl_run(void)
|
||||
{
|
||||
struct event thread;
|
||||
|
||||
master = thread_master_create(NULL);
|
||||
master = event_master_create(NULL);
|
||||
|
||||
rl_callback_handler_install(vtysh_prompt(), vtysh_rl_callback);
|
||||
event_add_read(master, vtysh_rl_read, NULL, STDIN_FILENO,
|
||||
@ -240,7 +240,7 @@ static void vtysh_rl_run(void)
|
||||
if (!vtysh_loop_exited)
|
||||
rl_callback_handler_remove();
|
||||
|
||||
thread_master_free(master);
|
||||
event_master_free(master);
|
||||
}
|
||||
|
||||
static void log_it(const char *line)
|
||||
|
Loading…
Reference in New Issue
Block a user