libowfat/socket/socket_deferaccept.c

28 lines
632 B
C
Raw Normal View History

2007-11-02 00:39:51 +00:00
#include "socket.h"
#include <sys/types.h>
2012-01-13 03:20:32 +00:00
#ifndef __MINGW32__
2007-11-02 00:39:51 +00:00
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
2012-01-13 03:20:32 +00:00
#endif
#include "windoze.h"
#include "socket.h"
2007-11-02 00:39:51 +00:00
#include <string.h>
void socket_deferaccept(int s,enum defermode mode) {
#ifdef TCP_DEFER_ACCEPT
int one=1;
2007-11-02 00:43:04 +00:00
(void)mode;
2007-11-02 00:39:51 +00:00
setsockopt(s,IPPROTO_TCP,TCP_DEFER_ACCEPT,&one,sizeof(one));
#elif defined(SO_ACCEPTFILTER)
struct accept_filter_arg afa;
memset(&afa,0,sizeof(afa));
strcpy(afa.af_name,mode==HTTPIN?"httpreader":"dataready");
2007-11-02 00:43:43 +00:00
setsockopt(s, SOL_SOCKET, SO_ACCEPTFILTER, &afa, sizeof(afa));
#else
(void)s;
(void)mode;
2007-11-02 00:39:51 +00:00
#endif
}