Index: rtmpdump.cpp =================================================================== --- rtmpdump.cpp (revision 57) +++ rtmpdump.cpp (working copy) @@ -96,11 +96,13 @@ bCtrlC = true; LogPrintf("Caught signal: %d, cleaning up, just a second...\n", sig); // ignore all these signals now and let the connection close + signal(SIGINT, SIG_IGN); + signal(SIGTERM, SIG_IGN); +#ifndef WIN32 signal(SIGHUP, SIG_IGN); - signal(SIGINT, SIG_IGN); signal(SIGPIPE, SIG_IGN); - signal(SIGTERM, SIG_IGN); signal(SIGQUIT, SIG_IGN); +#endif } int WriteHeader( @@ -928,11 +930,13 @@ char DEFAULT_FLASH_VER[] = "LNX 10,0,22,87"; + signal(SIGINT, sigIntHandler); + signal(SIGTERM, sigIntHandler); +#ifndef WIN32 signal(SIGHUP, sigIntHandler); - signal(SIGINT, sigIntHandler); signal(SIGPIPE, sigIntHandler); - signal(SIGTERM, sigIntHandler); signal(SIGQUIT, sigIntHandler); +#endif /* sleep(30); */ Index: rtmp.cpp =================================================================== --- rtmp.cpp (revision 57) +++ rtmp.cpp (working copy) @@ -26,16 +26,15 @@ #include #include -#include -#include -#include - #include #ifdef WIN32 #include #define close(x) closesocket(x) #else +#include +#include +#include #include #endif @@ -60,6 +59,12 @@ extern bool bCtrlC; +#ifdef WIN32 +#define setsockopt(socket,level,optname,optval,optlen) (setsockopt)(socket,level,optname,(const char *)optval,(int)optlen) +#define EWOULDBLOCK EAGAIN +#define sleep(n) Sleep(n * 1000) +#endif + int32_t GetTime() { #ifdef _DEBUG