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 | |
parent | dbc7dbb2b95671ca5560e999938efb18ad531a54 (diff) |
== Frameserver ==
Set SO_REUSEADDR on server-socket, since otherwise, frameserver will barf on
second start.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenkernel/intern/writeframeserver.c | 5 | ||||
-rw-r--r-- | source/blender/render/intern/source/convertblender.c | 2 |
2 files changed, 6 insertions, 1 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; diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c index 2596eb84b15..c7b96ad28f3 100644 --- a/source/blender/render/intern/source/convertblender.c +++ b/source/blender/render/intern/source/convertblender.c @@ -604,7 +604,7 @@ static void calc_vertexnormals(Render *re, int startvert, int startvlak, int do_ float *v1= vlr->v1->n; float *v2= vlr->v2->n; float *v3= vlr->v3->n; - float *v4= vlr->v4->n; + float *v4= vlr->v4?vlr->v4->n:NULL; float *nor= vlr->n; vlr->puno &= ~15; if ((nor[0]*v1[0] + nor[1]*v1[1] + nor[2]*v1[2]) < -FLT_EPSILON10) vlr->puno= 1; |