/*
* Initialize multi-socket I/O wait object
*/
- m->multi_io = multi_io_init(t->options.max_clients, &m->max_clients);
+ m->multi_io = multi_io_init(m->max_clients);
m->tcp_queue_limit = t->options.tcp_queue_limit;
/*
}
struct multi_io *
-multi_io_init(int maxevents, int *maxclients)
+multi_io_init(const int maxclients)
{
struct multi_io *multi_io;
- const int extra_events = BASE_N_EVENTS;
- ASSERT(maxevents >= 1);
- ASSERT(maxclients);
+ ASSERT(maxclients >= 1);
ALLOC_OBJ_CLEAR(multi_io, struct multi_io);
- multi_io->maxevents = maxevents + extra_events;
+ multi_io->maxevents = maxclients + BASE_N_EVENTS;
multi_io->es = event_set_init(&multi_io->maxevents, 0);
wait_signal(multi_io->es, MULTI_IO_SIG);
ALLOC_ARRAY(multi_io->esr, struct event_set_return, multi_io->maxevents);
- *maxclients = max_int(min_int(multi_io->maxevents - extra_events, *maxclients), 1);
- msg(D_MULTI_LOW, "MULTI IO: MULTI_IO INIT maxclients=%d maxevents=%d", *maxclients,
+ msg(D_MULTI_LOW, "MULTI IO: MULTI_IO INIT maxclients=%d maxevents=%d", maxclients,
multi_io->maxevents);
return multi_io;
}
#endif
};
-struct multi_io *multi_io_init(int maxevents, int *maxclients);
+struct multi_io *multi_io_init(int maxclients);
void multi_io_free(struct multi_io *multi_io);