Author: bugman Date: Thu Jan 7 11:41:06 2010 New Revision: 10122 URL: http://svn.gna.org/viewcvs/relax?rev=10122&view=rev Log: Removed all STDOUT and STDERR handling in the multi-processor model-free specific code. This is 100% handled by the multi module. Modified: branches/multi_processor_merge/specific_fns/model_free/multi_processor_commands.py Modified: branches/multi_processor_merge/specific_fns/model_free/multi_processor_commands.py URL: http://svn.gna.org/viewcvs/relax/branches/multi_processor_merge/specific_fns/model_free/multi_processor_commands.py?rev=10122&r1=10121&r2=10122&view=diff ============================================================================== --- branches/multi_processor_merge/specific_fns/model_free/multi_processor_commands.py (original) +++ branches/multi_processor_merge/specific_fns/model_free/multi_processor_commands.py Thu Jan 7 11:41:06 2010 @@ -109,7 +109,7 @@ print(print_prefix + "b: " + repr(b)) # we don't want to prepend the masters stdout tag - sys.__stdout__.write('\n'+self.result_string), + sys.stdout.write('\n'+self.result_string), if sgm.completed: if verbosity and results != None: @@ -260,24 +260,11 @@ def process_results(self, results, processor, completed): param_vector, func, iter, fc, gc, hc, warning = results - #FIXME: we need to interleave stdout and stderr - (stdout, stderr) = processor.get_stdio_capture() - result_string = stdout.getvalue() + stderr.getvalue() - stdout.truncate(0) - stderr.truncate(0) - processor.return_object(MF_result_command(processor, self.memo_id, param_vector, func, iter, fc, gc, hc, warning, completed=False)) processor.return_object(Result_string(processor, result_string, completed=completed)) def run(self, processor, completed): -# #FIXME: move to processor startup -# save_stdout = sys.stdout -# save_stderr = sys.stderr -# pre_string = processor.rank_format_string() % processor.rank() -# # add debug flag or extra channels that output immediately -# sys.stdout = PrependStringIO(pre_string + ' S> ') -# sys.stderr = PrependStringIO(pre_string + ' E> ') try: self.pre_run(processor) self.pre_command_feed_back(processor) @@ -286,17 +273,10 @@ self.process_results(results, processor, completed) self.post_run(processor) except Exception, e : - processor.restore_stdio() if isinstance(e, Capturing_exception): raise e else: raise Capturing_exception(rank=processor.rank(), name=processor.get_name()) - -# #FIXME: move to processor startup -# sys.stdout.close() -# sys.stderr.close() -# sys.stdout = save_stdout -# sys.stderr = save_stderr def run_command(self, processor): @@ -381,11 +361,6 @@ def process_results(self, results, processor, completed): param_vector, func, iter, fc, gc, hc, warning = results - (stdout, stderr) = processor.get_stdio_capture() - result_string = stdout.getvalue() + stderr.getvalue() - stdout.truncate(0) - stderr.truncate(0) - processor.return_object(MF_grid_result_command(processor, result_string, self.memo_id, param_vector, func, iter, fc, gc, hc, warning, completed=completed)) @@ -450,7 +425,6 @@ # print results # print self.full_output # print results[OFFSET_FK], self.fk - sys.stdout.flush() if self.full_output: if results[OFFSET_FK] < self.fk: #print 'adding ******'