def read_and_delete(filename): result = '' try: result = open(filename, 'r').read() finally: try_delete(filename) return result
def collect_results(self): buffered_results = [] while len(self.processes): res = get_from_queue(self.result_queue) if res is not None: buffered_results.append(res) else: self.clear_finished_processes() for temp_dir in self.dedicated_temp_dirs: try_delete(temp_dir) return buffered_results
def process_funcs((i, funcs, meta, settings_file, compiler, forwarded_file, libraries, compiler_engine, temp_files)): ll = ''.join(funcs) + '\n' + meta funcs_file = temp_files.get('.func_%d.ll' % i).name open(funcs_file, 'w').write(ll) out = jsrun.run_js( compiler, engine=compiler_engine, args=[settings_file, funcs_file, 'funcs', forwarded_file] + libraries, stdout=subprocess.PIPE) tempfiles.try_delete(funcs_file) return out
def process_funcs((i, funcs, meta, settings_file, compiler, forwarded_file, libraries, compiler_engine, temp_files, DEBUG)): funcs_file = temp_files.get('.func_%d.ll' % i).name f = open(funcs_file, 'w') f.write(funcs) funcs = None f.write('\n') f.write(meta) f.close() out = jsrun.run_js( compiler, engine=compiler_engine, args=[settings_file, funcs_file, 'funcs', forwarded_file] + libraries, stdout=subprocess.PIPE, cwd=path_from_root('src')) tempfiles.try_delete(funcs_file) if DEBUG: print >> sys.stderr, '.' return out
def process_funcs((i, funcs, meta, settings_file, compiler, forwarded_file, libraries, compiler_engine, temp_files, DEBUG)): try: funcs_file = temp_files.get('.func_%d.ll' % i).name f = open(funcs_file, 'w') f.write(funcs) funcs = None f.write('\n') f.write(meta) f.close() out = jsrun.run_js( compiler, engine=compiler_engine, args=[settings_file, funcs_file, 'funcs', forwarded_file] + libraries, stdout=subprocess.PIPE, cwd=path_from_root('src')) except KeyboardInterrupt: # Python 2.7 seems to lock up when a child process throws KeyboardInterrupt raise Exception() finally: tempfiles.try_delete(funcs_file) if DEBUG: print >> sys.stderr, '.' return out