• Russ Cox's avatar
    undo CL 131750044 / 2d6d44ceb80e · 2d53d6b5
    Russ Cox authored
    Breaks reading from stdin in parent after exec with SysProcAttr{Setpgid: true}.
    
    package main
    
    import (
            "fmt"
            "os"
            "os/exec"
            "syscall"
    )
    
    func main() {
            cmd := exec.Command("true")
            cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true}
            cmd.Run()
    
            fmt.Printf("Hit enter:")
            os.Stdin.Read(make([]byte, 100))
            fmt.Printf("Bye\n")
    }
    
    In go1.3, I type enter at the prompt and the program exits.
    With the CL being rolled back, the program wedges at the
    prompt.
    
    ««« original CL description
    syscall: SysProcAttr job control changes
    
    Making the child's process group the foreground process group and
    placing the child in a specific process group involves co-ordination
    between the parent and child that must be done post-fork but pre-exec.
    
    LGTM=iant
    R=golang-codereviews, gobot, iant, mikioh.mikioh
    CC=golang-codereviews
    https://golang.org/cl/131750044
    
    »»»
    
    LGTM=minux, dneil
    R=dneil, minux
    CC=golang-codereviews, iant, michael.p.macinnis
    https://golang.org/cl/174450043
    2d53d6b5
Name
Last commit
Last update
api Loading commit data...
doc Loading commit data...
include Loading commit data...
lib Loading commit data...
misc Loading commit data...
src Loading commit data...
test Loading commit data...
.hgignore Loading commit data...
.hgtags Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README Loading commit data...
favicon.ico Loading commit data...
robots.txt Loading commit data...