diff options
author | Peter Schlaile <peter@schlaile.de> | 2006-06-26 17:22:55 +0400 |
---|---|---|
committer | Peter Schlaile <peter@schlaile.de> | 2006-06-26 17:22:55 +0400 |
commit | d6e7eb27ed555362d380667a2fe6e6a1415ae44d (patch) | |
tree | 2fe2398b7e8acf9c5099a12819ab9c96c2c73e2e /source/blender/blenkernel/intern/writeframeserver.c | |
parent | dbc7dbb2b95671ca5560e999938efb18ad531a54 (diff) |
== Frameserver ==
Set SO_REUSEADDR on server-socket, since otherwise, frameserver will barf on
second start.
Diffstat (limited to 'source/blender/blenkernel/intern/writeframeserver.c')
-rw-r--r-- | source/blender/blenkernel/intern/writeframeserver.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/writeframeserver.c b/source/blender/blenkernel/intern/writeframeserver.c index 58d8f82d454..76832922dcf 100644 --- a/source/blender/blenkernel/intern/writeframeserver.c +++ b/source/blender/blenkernel/intern/writeframeserver.c @@ -28,6 +28,7 @@ #else #include <sys/time.h> #include <sys/socket.h> +#include <sys/types.h> #include <netinet/in.h> #include <arpa/inet.h> #include <net/if.h> @@ -90,6 +91,7 @@ static int closesocket(int fd) { void start_frameserver(RenderData *rd, int rectx, int recty) { struct sockaddr_in addr; + int arg = 1; if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) { G.afbreek = 1; /* Abort render */ @@ -97,6 +99,9 @@ void start_frameserver(RenderData *rd, int rectx, int recty) return; } + setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, + (char*) &arg, sizeof(arg)); + addr.sin_family = AF_INET; addr.sin_port = htons(U.frameserverport); addr.sin_addr.s_addr = INADDR_ANY; |