This error:

panic: runtime error: invalid memory address or nil pointer dereference

[signal 0xb code=0x1 addr=0x20 pc=0x401487]


goroutine 1 [running]:

panic(0x50bfa0, 0xc82000a0c0)

/usr/lib/go-1.6/src/runtime/panic.go:481 +0x3e6

main.main()

/root/Whois3/rest-whois-threaded/main.go:65 +0x67

Is produced by this code: I commented line 65. Is there an error in the go?

package main


import (

        "os"

        "net"

        "syscall"

        "time"

)


func reader(incoming net.Conn, outgoing net.Conn,ready chan bool) {


        var buffer []byte

        <- ready

        buffer = make([]byte,2)

        for {  

                read, _ := incoming.Read(buffer)  

                outgoing.Write(buffer)

                if read == 0 {

                break

                }

        }

        return

}


func writer(outgoing net.Conn, incoming net.Conn, ready chan bool) {


        var buffer []byte

        <- ready

        buffer = make([]byte,2)

        for {

                read, _ := outgoing.Read(buffer)

                incoming.Write(buffer)

                if read == 0 {

                break

                }

        }

        return

}


func worker(connection net.Conn) {

        var ready chan bool

        var app net.Conn

        var process *os.Process

        var attr *syscall.ProcAttr

        var stuff []string


        attr.Dir = "/my/dir"


        pid,_ := syscall.ForkExec("/my/exec", stuff, attr)

        process.Pid = pid

        app, _= net.Dial("tcp", "127.0.0.1:5000")

        go reader(connection,app,ready)

        go writer(connection,app,ready)


        ready <- true

        time.Sleep(7 * time.Second)

        process.Kill()

        return

}


func main() {

        ln, _ := net.Listen("tcp", ":80")


        for {

                conn, _ := ln.Accept() // Line 65

                go worker(conn)

        }


}

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to