equal
deleted
inserted
replaced
26 from . import ( |
26 from . import ( |
27 encoding, |
27 encoding, |
28 error, |
28 error, |
29 pycompat, |
29 pycompat, |
30 util, |
30 util, |
|
31 ) |
|
32 from .utils import ( |
|
33 procutil, |
31 ) |
34 ) |
32 |
35 |
33 logfile = None |
36 logfile = None |
34 |
37 |
35 def log(*args): |
38 def log(*args): |
306 def _protectio(ui): |
309 def _protectio(ui): |
307 """ duplicates streams and redirect original to null if ui uses stdio """ |
310 """ duplicates streams and redirect original to null if ui uses stdio """ |
308 ui.flush() |
311 ui.flush() |
309 newfiles = [] |
312 newfiles = [] |
310 nullfd = os.open(os.devnull, os.O_RDWR) |
313 nullfd = os.open(os.devnull, os.O_RDWR) |
311 for f, sysf, mode in [(ui.fin, util.stdin, r'rb'), |
314 for f, sysf, mode in [(ui.fin, procutil.stdin, r'rb'), |
312 (ui.fout, util.stdout, r'wb')]: |
315 (ui.fout, procutil.stdout, r'wb')]: |
313 if f is sysf: |
316 if f is sysf: |
314 newfd = os.dup(f.fileno()) |
317 newfd = os.dup(f.fileno()) |
315 os.dup2(nullfd, f.fileno()) |
318 os.dup2(nullfd, f.fileno()) |
316 f = os.fdopen(newfd, mode) |
319 f = os.fdopen(newfd, mode) |
317 newfiles.append(f) |
320 newfiles.append(f) |