Show More
@@ -442,7 +442,20 class chgcmdserver(commandserver.server) | |||
|
442 | 442 | if newfp is not fp: |
|
443 | 443 | newfp.close() |
|
444 | 444 | # restore original fd: fp is open again |
|
445 | try: | |
|
445 | 446 | os.dup2(fd, fp.fileno()) |
|
447 | except OSError as err: | |
|
448 | # According to issue6330, running chg on heavy loaded systems | |
|
449 | # can lead to EBUSY. [man dup2] indicates that, on Linux, | |
|
450 | # EBUSY comes from a race condition between open() and dup2(). | |
|
451 | # However it's not clear why open() race occurred for | |
|
452 | # newfd=stdin/out/err. | |
|
453 | self.ui.log( | |
|
454 | b'chgserver', | |
|
455 | b'got %s while duplicating %s\n', | |
|
456 | stringutil.forcebytestr(err), | |
|
457 | fn, | |
|
458 | ) | |
|
446 | 459 | os.close(fd) |
|
447 | 460 | setattr(self, cn, ch) |
|
448 | 461 | setattr(ui, fn, fp) |
General Comments 0
You need to be logged in to leave comments.
Login now