Skip to content

Commit

Permalink
Remove signals completely. That's not Go 1.
Browse files Browse the repository at this point in the history
  • Loading branch information
nsf committed Feb 8, 2012
1 parent 8f172b0 commit 2e394ac
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 57 deletions.
38 changes: 0 additions & 38 deletions os_posix.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,14 @@ package main
import (
"flag"
"os"
"os/signal"
"os/exec"
"path/filepath"
"net"
"net/rpc"
"runtime"
)

func CreateSockFlag(name, desc string) *string {
return flag.String(name, "unix", desc)
}

func IsTerminationSignal(sig os.Signal) bool {
usig, ok := sig.(os.UnixSignal)
if !ok {
return false
}
if usig == os.SIGINT || usig == os.SIGTERM {
return true
}
return false
}

// Full path of the current executable
func GetExecutableFileName() string {
// try readlink first
Expand All @@ -50,26 +35,3 @@ func GetExecutableFileName() string {
}
return ""
}

func (s *Server) Loop() {
conn_in := make(chan net.Conn)
go acceptConnections(conn_in, s.listener)
for {
// handle connections or server CMDs (currently one CMD)
select {
case c := <-conn_in:
rpc.ServeConn(c)
runtime.GC()
case cmd := <-s.cmd_in:
switch cmd {
case SERVER_CLOSE:
return
}
case sig := <-signal.Incoming:
if IsTerminationSignal(sig) {
return
}
}
}
}

19 changes: 0 additions & 19 deletions os_windows.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,22 +31,3 @@ func GetExecutableFileName() string {
}
return string(utf16.Decode(b[:ret]))
}

func (s *Server) Loop() {
conn_in := make(chan net.Conn)
go acceptConnections(conn_in, s.listener)
for {
// handle connections or server CMDs (currently one CMD)
select {
case c := <-conn_in:
rpc.ServeConn(c)
runtime.GC()
case cmd := <-s.cmd_in:
switch cmd {
case SERVER_CLOSE:
return
}
}
}
}

19 changes: 19 additions & 0 deletions server.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"net"
"runtime"
"sync"
"net/rpc"
)

//-------------------------------------------------------------------------
Expand Down Expand Up @@ -139,6 +140,24 @@ func acceptConnections(in chan net.Conn, listener net.Listener) {
}
}

func (s *Server) Loop() {
conn_in := make(chan net.Conn)
go acceptConnections(conn_in, s.listener)
for {
// handle connections or server CMDs (currently one CMD)
select {
case c := <-conn_in:
rpc.ServeConn(c)
runtime.GC()
case cmd := <-s.cmd_in:
switch cmd {
case SERVER_CLOSE:
return
}
}
}
}

func (s *Server) Close() {
s.cmd_in <- SERVER_CLOSE
}

0 comments on commit 2e394ac

Please sign in to comment.