File tree Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Expand file tree Collapse file tree 1 file changed +14
-1
lines changed Original file line number Diff line number Diff line change 77 "net"
88 "net/http"
99 "os"
10+ "runtime"
1011 "strings"
12+ "syscall"
1113 "time"
1214
1315 "github.com/sagernet/sing-box/adapter"
@@ -143,7 +145,18 @@ func (s *Server) PreStart() error {
143145func (s * Server ) Start () error {
144146 if s .externalController {
145147 s .checkAndDownloadExternalUI ()
146- listener , err := net .Listen ("tcp" , s .httpServer .Addr )
148+ var (
149+ listener net.Listener
150+ err error
151+ )
152+ for i := 0 ; i < 3 ; i ++ {
153+ listener , err = net .Listen ("tcp" , s .httpServer .Addr )
154+ if runtime .GOOS == "android" && errors .Is (err , syscall .EADDRINUSE ) {
155+ time .Sleep (100 * time .Millisecond )
156+ continue
157+ }
158+ break
159+ }
147160 if err != nil {
148161 return E .Cause (err , "external controller listen error" )
149162 }
You can’t perform that action at this time.
0 commit comments