Exemplo n.º 1
0
def update_fg_process_group(pipeline_group, background):
    if background:
        return False
    if not xp.ON_POSIX:
        return False
    env = builtins.__xonsh__.env
    if not env.get("XONSH_INTERACTIVE"):
        return False
    return xj.give_terminal_to(pipeline_group)
Exemplo n.º 2
0
def update_process_group(pipeline_group, background):
    if not xp.ON_POSIX:
        return False
    env = XSH.env
    if not env.get("XONSH_INTERACTIVE"):
        return False
    if background:
        return True
    return xj.give_terminal_to(pipeline_group)
Exemplo n.º 3
0
 def _return_terminal(self):
     if xp.ON_WINDOWS or not xp.ON_POSIX:
         return
     pgid = os.getpgid(0)
     if self.term_pgid is None or pgid == self.term_pgid:
         return
     if xj.give_terminal_to(pgid):  # if gave term succeed
         self.term_pgid = pgid
         if builtins.__xonsh__.shell is not None:
             # restoring sanity could probably be called whenever we return
             # control to the shell. But it only seems to matter after a
             # ^Z event. This *has* to be called after we give the terminal
             # back to the shell.
             builtins.__xonsh__.shell.shell.restore_tty_sanity()
Exemplo n.º 4
0
 def resume(self, job, tee_output=True):
     self.ended = False
     if xj.give_terminal_to(job["pgrp"]):
         self.term_pgid = job["pgrp"]
     xj._continue(job)
     self.end(tee_output=tee_output)