equal
deleted
inserted
replaced
301 def _protectio(ui): |
301 def _protectio(ui): |
302 """ duplicates streams and redirect original to null if ui uses stdio """ |
302 """ duplicates streams and redirect original to null if ui uses stdio """ |
303 ui.flush() |
303 ui.flush() |
304 newfiles = [] |
304 newfiles = [] |
305 nullfd = os.open(os.devnull, os.O_RDWR) |
305 nullfd = os.open(os.devnull, os.O_RDWR) |
306 for f, sysf, mode in [(ui.fin, util.stdin, pycompat.sysstr('rb')), |
306 for f, sysf, mode in [(ui.fin, util.stdin, r'rb'), |
307 (ui.fout, util.stdout, pycompat.sysstr('wb'))]: |
307 (ui.fout, util.stdout, r'wb')]: |
308 if f is sysf: |
308 if f is sysf: |
309 newfd = os.dup(f.fileno()) |
309 newfd = os.dup(f.fileno()) |
310 os.dup2(nullfd, f.fileno()) |
310 os.dup2(nullfd, f.fileno()) |
311 f = os.fdopen(newfd, mode) |
311 f = os.fdopen(newfd, mode) |
312 newfiles.append(f) |
312 newfiles.append(f) |