equal
deleted
inserted
replaced
367 # see it because it is written to server's stderr by default. |
367 # see it because it is written to server's stderr by default. |
368 if sv: |
368 if sv: |
369 cerr = sv.cerr |
369 cerr = sv.cerr |
370 else: |
370 else: |
371 cerr = channeledoutput(fout, 'e') |
371 cerr = channeledoutput(fout, 'e') |
372 traceback.print_exc(file=cerr) |
372 cerr.write(encoding.strtolocal(traceback.format_exc())) |
373 raise |
373 raise |
374 finally: |
374 finally: |
375 fin.close() |
375 fin.close() |
376 try: |
376 try: |
377 fout.close() # implicit flush() may cause another EPIPE |
377 fout.close() # implicit flush() may cause another EPIPE |