X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fd_bmsocket.c;h=334b51e05b2194e52164795b4f0f433f6c7c028a;hb=0d530384a33a9573b650f4f86d8198af7bedd9ac;hp=c3fae7534beae68f76d3fb1ae61ddf1e2099ba47;hpb=89d5adef0a737afc86722bf7a87883b3ced536fe;p=vsys-scripts.git diff --git a/fd_bmsocket.c b/fd_bmsocket.c index c3fae75..334b51e 100644 --- a/fd_bmsocket.c +++ b/fd_bmsocket.c @@ -1,9 +1,11 @@ #include #include +#include #include +#include #include "fdpass.h" -#define RCVBUF 16*1024*1024 +unsigned int rcvbuf = 16*1024*1024; int main(int argc, char *argv[]) { int control_channel_fd, magic_socket; @@ -14,7 +16,15 @@ int main(int argc, char *argv[]) { sscanf(argv[2],"%d", &control_channel_fd); - magic_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); - setsockopt(magic_socket, SOL_SOCKET, SO_RCVBUF, RCVBUF, sizeof(unsigned int)); - send_fd(control_channel, magic_socket); + magic_socket = socket(AF_INET, SOCK_STREAM, 0); + + if (magic_socket == -1) { + printf("Error creating socket: %d\n", errno); + exit(1); + } + if (setsockopt(magic_socket, SOL_SOCKET, SO_RCVBUFFORCE, &rcvbuf, sizeof(unsigned int))) { + printf("Error calling setsockopt: %d\n", errno); + exit(1); + } + send_fd(control_channel_fd, magic_socket); }