Sfoglia il codice sorgente

Don't block main thread when writing access log.

V2Ray 10 anni fa
parent
commit
c7c493f20e
1 ha cambiato i file con 5 aggiunte e 1 eliminazioni
  1. 5 1
      common/log/access.go

+ 5 - 1
common/log/access.go

@@ -42,11 +42,15 @@ func (logger *fileAccessLogger) close() {
 }
 
 func (logger *fileAccessLogger) Log(from, to string, status AccessStatus, reason string) {
-	logger.queue <- &accessLog{
+	select {
+	case logger.queue <- &accessLog{
 		From:   from,
 		To:     to,
 		Status: status,
 		Reason: reason,
+	}:
+	default:
+		// We don't expect this to happen, but don't want to block main thread as well.
 	}
 }