make odds of 'process added after close' panic less likely
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
Jeromy committed
May 24, 2017 at 09:12 UTC
53f1a9a50a156630d3d2f6c01814d33791f7bb9c
1 file changed
+6
core/corehttp/corehttp.go
+6
@@ -79,6 +79,12 @@ func Serve(node *core.IpfsNode, lis net.Listener, options ...ServeOption) error
79
var serverError error
80
serverExited := make(chan struct{})
81
82
+ select {
83
+ case <-node.Process().Closing():
84
+ return fmt.Errorf("failed to start server, process closing")
85
+ default:
86
+ }
87
+
88
node.Process().Go(func(p goprocess.Process) {
89
serverError = http.Serve(lis, handler)
90
close(serverExited)