packages feed

snap-server-0.1.1: cbits/linger.c

#include <sys/socket.h>
#include <sys/time.h>


void set_linger(int fd) {
    struct linger linger;

    /* five seconds of linger */
    linger.l_onoff = 1;
    linger.l_linger = 5;

    setsockopt(fd, SOL_SOCKET, SO_LINGER, &linger, sizeof(linger));
}


void set_fd_timeout(int fd) {
    struct timeval timeout;
    timeout.tv_sec = 10;
    timeout.tv_usec = 0;

    setsockopt(fd, SOL_SOCKET, SO_SNDTIMEO, &timeout, sizeof(timeout));
    setsockopt(fd, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout));
}