Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Jan 28, 2011
  1. Merge branch 'force-bg'

    authored
  2. Prefer mmap2() if present.

    authored
    i386 has an mmap(), but mmap2() is the one we want with the right
    calling convention.
Commits on Jan 27, 2011
Commits on Jan 25, 2011
  1. Send the child an explicit SIGCONT once we're done.

    authored
    This causes bash to notice that the process is backgrounded, which prevents it
    from sending a SIGTERM when the original shell exits.
  2. Copy the termios settings before we background the target process.

    authored
    If the target /doesn't/ properly initialize the terminal after a
    SIGTSTP/continue (I'm looking at you, emacs), we need to be sure to grab the
    terminal state before we suspend it and the shell resets the terminal to cooked
    mode.
  3. Use wait4 instead of waitid().

    authored
    waitid() seems to return EINVAL sometimes, for reasons I don't understand.
  4. Try to stop the target with SIGTSTP before attaching.

    authored
    This should both cause the target process to redraw / reinitialize the
    terminal (since it thinks it's been backgrounded and restarted), and should give
    you back the old terminal, since it sees the process now running in the
    "background".
Commits on Jan 22, 2011
  1. Fix compilation on amd64.

    authored
  2. Handle attaching to processes that are already session leaders.

    authored
    These are actually easier -- we just need to TIOCNOTTY, instead of
    playing games with a dummy child and setsid.
Commits on Jan 18, 2011
  1. Fix the rt_sigaction call.

    authored
    sizeof(sigset_t) is something ludicrous like 0x80 in userspace. Just hard-code
    it at 8, since all the userspace definitions seem to be lies.
  2. Don't allow the child to run unchecked between two syscalls.

    authored
    We were letting the child return from fork() and run to the next
    syscall. This happened to work on my system with 'less', but
    segfaulted on mutt. Instead, we need to reset the child to before the
    syscall point, so that none of its code is ever run.
  3. Checkpoint working version.

    authored
Something went wrong with that request. Please try again.