summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/disp-nis.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/disp-nis.c b/src/disp-nis.c
index eafde53..2baba69 100644
--- a/src/disp-nis.c
+++ b/src/disp-nis.c
@@ -529,6 +529,7 @@ static struct dispatch_client *
dispatch_accept_client(struct plugin_state *state, int fd)
{
struct dispatch_client *client;
+ struct linger linger;
int flags;
char *outbuf, *workbuf;
client = malloc(sizeof(*client));
@@ -556,6 +557,9 @@ dispatch_accept_client(struct plugin_state *state, int fd)
free(client);
return NULL;
}
+ linger.l_onoff = 1;
+ linger.l_linger = 0;
+ setsockopt(fd, SOL_SOCKET, SO_LINGER, &linger, sizeof(linger));
switch (client->client_addr.ss_family) {
struct sockaddr_in *sin;
struct sockaddr_in6 *sin6;