[ https://issues.apache.org/jira/browse/THRIFT-3855?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15530847#comment-15530847 ]
Patrick Bennett commented on THRIFT-3855: ----------------------------------------- Not sure if this is related but thrift 0.9.3 generates code such that even one call to Stop() hangs. If I set up a handler to trap ctrl-c/sigint (so that I can gracefully term my own goroutines) like so: quitChan := make(chan os.Signal) // trap ctrl-c - and gracefully stop service signal.Notify(quitChan, os.Interrupt) go func() { <-quitChan consoleTopic.Status(ctx, "...exiting") server.Stop() }() server.Serve() // <--- this never returns! > In the go simple server, if Stop() is called multiple times it hangs > -------------------------------------------------------------------- > > Key: THRIFT-3855 > URL: https://issues.apache.org/jira/browse/THRIFT-3855 > Project: Thrift > Issue Type: Bug > Components: Go - Library > Affects Versions: 0.9.3 > Reporter: James E. King, III > Assignee: Paul Finkelshteyn > Priority: Minor > Fix For: 0.10.0 > > > From the submitter huaiwan: > {quote} > huaiyun commented 18 hours ago > When Stop() is called twice or more, and no new connection accepted from > AcceptLoop(), the Stop() will be blocked because the quit channel is full. > {quote} -- This message was sent by Atlassian JIRA (v6.3.4#6332)