From 548e6aab95b04ea048f7461439a0a63ffe79f0b0 Mon Sep 17 00:00:00 2001 From: Thulinma Date: Mon, 8 Nov 2010 16:29:06 +0100 Subject: [PATCH] DDVSocket edits --- Connector_RTMP/main.cpp | 2 +- util/ddv_socket.cpp | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Connector_RTMP/main.cpp b/Connector_RTMP/main.cpp index 0cef9875..5c2dc8c2 100644 --- a/Connector_RTMP/main.cpp +++ b/Connector_RTMP/main.cpp @@ -48,7 +48,7 @@ int main(int argc, char ** argv){ int status; while (server_socket > 0){ waitpid((pid_t)-1, &status, WNOHANG); - CONN_fd = DDV_Accept(server_socket, true); + CONN_fd = DDV_Accept(server_socket); if (CONN_fd > 0){ pid_t myid = fork(); if (myid == 0){ diff --git a/util/ddv_socket.cpp b/util/ddv_socket.cpp index 43406e4d..a1cecf6e 100644 --- a/util/ddv_socket.cpp +++ b/util/ddv_socket.cpp @@ -88,7 +88,11 @@ bool DDV_write(void * buffer, int todo, int sock){ bool DDV_ready(int sock){ char tmp; + int preflags = fcntl(sock, F_GETFL, 0); + int postflags = preflags | O_NONBLOCK; + fcntl(sock, F_SETFL, postflags); int r = recv(sock, &tmp, 1, MSG_PEEK); + fcntl(sock, F_SETFL, preflags); return (r == 1); }