Another try to fix a race condition

This commit is contained in:
Till Faelligen 2023-03-21 14:17:44 +01:00
parent 1c66854c04
commit 66092fc08b
No known key found for this signature in database
GPG key ID: ACCDC9606D472758

View file

@ -23,6 +23,7 @@ import (
"net" "net"
"net/http" "net/http"
"path/filepath" "path/filepath"
"sync"
"time" "time"
"github.com/gorilla/mux" "github.com/gorilla/mux"
@ -79,6 +80,7 @@ type P2PMonolith struct {
listener net.Listener listener net.Listener
httpListenAddr string httpListenAddr string
stopHandlingEvents chan bool stopHandlingEvents chan bool
startUpLock sync.Mutex
} }
func GenerateDefaultConfig(sk ed25519.PrivateKey, storageDir string, cacheDir string, dbPrefix string) *config.Dendrite { func GenerateDefaultConfig(sk ed25519.PrivateKey, storageDir string, cacheDir string, dbPrefix string) *config.Dendrite {
@ -296,6 +298,8 @@ func (p *P2PMonolith) setupHttpServers(userProvider *users.PineconeUserProvider,
} }
func (p *P2PMonolith) startHTTPServers() { func (p *P2PMonolith) startHTTPServers() {
p.startUpLock.Lock()
defer p.startUpLock.Unlock()
go func() { go func() {
// Build both ends of a HTTP multiplex. // Build both ends of a HTTP multiplex.
p.httpServer = &http.Server{ p.httpServer = &http.Server{