X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/2b4bcb0b184c0b94c0650400217192a0a4e513e2..03f48bb9a6678946fbcc4ded7a2d26c8f61873b5:/stglibs/common.lib/common.cpp diff --git a/stglibs/common.lib/common.cpp b/stglibs/common.lib/common.cpp index b9fb3bf9..2bb327df 100644 --- a/stglibs/common.lib/common.cpp +++ b/stglibs/common.lib/common.cpp @@ -28,35 +28,10 @@ $Author: faust $ */ - -/*#include -#include -#include -#include -#include -#include -#include - - -#include - - -#include -#include - -#ifdef WIN32 -#include -#else -#include -#include -#include -#include -#include -#endif*/ - #ifdef FREE_BSD #include #endif +#include #ifdef WIN32 #include @@ -64,6 +39,7 @@ #include #include #include +#include #endif #include @@ -75,7 +51,7 @@ #include #include -#include "common.h" +#include "stg/common.h" #ifndef INET_ADDRSTRLEN # define INET_ADDRSTRLEN 16 @@ -1032,3 +1008,27 @@ if (*val < min || *val > max) return 0; } + +bool WaitPackets(int sd) +{ +fd_set rfds; +FD_ZERO(&rfds); +FD_SET(sd, &rfds); + +struct timeval tv; +tv.tv_sec = 0; +tv.tv_usec = 500000; + +int res = select(sd + 1, &rfds, NULL, NULL, &tv); +if (res == -1) // Error + { + if (errno != EINTR) + printfd(__FILE__, "Error on select: '%s'\n", strerror(errno)); + return false; + } + +if (res == 0) // Timeout + return false; + +return true; +}