Workaround for nscd(8) failure with large entries.
It fixes a case where eg a 2KB group entry would take several seconds to complete with cache enabled in nsswitch.conf. MFC after: 2 weeks Sponsored by: Chalmers University of Technology Differential Revision: https://reviews.freebsd.org/D18392
This commit is contained in:
parent
16068ae479
commit
50d503b781
@ -405,6 +405,12 @@ process_socket_event(struct kevent *event_data, struct runtime_env *env,
|
||||
* process_socket_event).
|
||||
*/
|
||||
if (qstate->kevent_watermark > MAX_SOCKET_IO_SIZE) {
|
||||
#if 0
|
||||
/*
|
||||
* XXX: Uncommenting this code makes nscd(8) fail for
|
||||
* entries larger than a few kB, causing few second
|
||||
* worth of delay for each call to retrieve them.
|
||||
*/
|
||||
if (qstate->io_buffer != NULL)
|
||||
free(qstate->io_buffer);
|
||||
|
||||
@ -421,6 +427,7 @@ process_socket_event(struct kevent *event_data, struct runtime_env *env,
|
||||
|
||||
if (qstate->kevent_filter == EVFILT_READ)
|
||||
qstate->use_alternate_io = 1;
|
||||
#endif
|
||||
|
||||
qstate->io_buffer_watermark = MAX_SOCKET_IO_SIZE;
|
||||
EV_SET(&eventlist[1], event_data->ident,
|
||||
|
Loading…
Reference in New Issue
Block a user