[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23315] trunk/blender/release/io/netrender : netrender:
Martin Poirier
theeth at yahoo.com
Thu Sep 17 20:40:37 CEST 2009
Revision: 23315
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23315
Author: theeth
Date: 2009-09-17 20:40:37 +0200 (Thu, 17 Sep 2009)
Log Message:
-----------
netrender:
Disable windows' blocking crash reports in child process. (windows only)
Get server port as well as ip address from master broadcast (broadcast is on a fixed port).
Modified Paths:
--------------
trunk/blender/release/io/netrender/master.py
trunk/blender/release/io/netrender/operators.py
trunk/blender/release/io/netrender/slave.py
Modified: trunk/blender/release/io/netrender/master.py
===================================================================
--- trunk/blender/release/io/netrender/master.py 2009-09-17 17:44:54 UTC (rev 23314)
+++ trunk/blender/release/io/netrender/master.py 2009-09-17 18:40:37 UTC (rev 23315)
@@ -632,5 +632,5 @@
if broadcast:
if time.time() - start_time >= 10: # need constant here
print("broadcasting address")
- s.sendto(bytes("%s:%i" % address, encoding='utf8'), 0, ('<broadcast>',address[1]))
+ s.sendto(bytes("%i" % address[1], encoding='utf8'), 0, ('<broadcast>', 8000))
start_time = time.time()
Modified: trunk/blender/release/io/netrender/operators.py
===================================================================
--- trunk/blender/release/io/netrender/operators.py 2009-09-17 17:44:54 UTC (rev 23314)
+++ trunk/blender/release/io/netrender/operators.py 2009-09-17 18:40:37 UTC (rev 23315)
@@ -339,14 +339,15 @@
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s.settimeout(30)
- s.bind(('', netsettings.server_port))
+ s.bind(('', 8000))
try:
- buf, address = s.recvfrom(128)
+ buf, address = s.recvfrom(64)
print("received:", buf)
netsettings.server_address = address[0]
+ netsettings.server_port = int(str(buf, encoding='utf8'))
except socket.timeout:
print("no server info")
Modified: trunk/blender/release/io/netrender/slave.py
===================================================================
--- trunk/blender/release/io/netrender/slave.py 2009-09-17 17:44:54 UTC (rev 23314)
+++ trunk/blender/release/io/netrender/slave.py 2009-09-17 18:40:37 UTC (rev 23315)
@@ -9,6 +9,22 @@
MAX_TIMEOUT = 10
INCREMENT_TIMEOUT = 1
+if platform.system() == 'Windows' and platform.version() >= '5': # Error mode is only available on Win2k or higher, that's version 5
+ import ctypes
+ def SetErrorMode():
+ val = ctypes.windll.kernel32.SetErrorMode(0x0002)
+ ctypes.windll.kernel32.SetErrorMode(val | 0x0002)
+ return val
+
+ def RestoreErrorMode(val):
+ ctypes.windll.kernel32.SetErrorMode(val)
+else:
+ def SetErrorMode():
+ return 0
+
+ def RestoreErrorMode(val):
+ pass
+
def slave_Info():
sysname, nodename, release, version, machine, processor = platform.uname()
slave = netrender.model.RenderSlave()
@@ -100,10 +116,14 @@
for frame in job.frames:
print("frame", frame.number)
frame_args += ["-f", str(frame.number)]
-
+
+
+
start_t = time.time()
- process = subprocess.Popen([sys.argv[0], "-b", job_full_path, "-o", JOB_PREFIX + "######", "-E", "BLENDER_RENDER", "-F", "MULTILAYER"] + frame_args, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ val = SetErrorMode()
+ process = subprocess.Popen([sys.argv[0], "-b", job_full_path, "-o", JOB_PREFIX + "######", "-E", "BLENDER_RENDER", "-F", "MULTILAYER"] + frame_args, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ RestoreErrorMode(val)
headers = {"job-id":job.id, "slave-id":slave_id}
More information about the Bf-blender-cvs
mailing list