@@ -635,16 +635,21 @@ func (ec *eventConsumer) consumeReshareEvent() error {
635635 KeyType : msg .KeyType ,
636636 ResultType : event .ResultTypeSuccess ,
637637 }
638-
639- var wg sync.WaitGroup
640638 ctx := context .Background ()
639+ var wg sync.WaitGroup
641640 if oldSession != nil {
642- ctxOld , doneOld := context .WithCancel (ctx )
643641 oldSession .Init ()
644642 oldSession .ListenToIncomingMessageAsync ()
645- ec .warmUpSession ()
646- go oldSession .Reshare (doneOld )
643+ }
644+ if newSession != nil {
645+ newSession .Init ()
646+ newSession .ListenToIncomingMessageAsync ()
647+ }
647648
649+ ec .warmUpSession ()
650+ if oldSession != nil {
651+ ctxOld , doneOld := context .WithCancel (ctx )
652+ go oldSession .Reshare (doneOld )
648653 wg .Add (1 )
649654 go func () {
650655 defer wg .Done ()
@@ -655,7 +660,7 @@ func (ec *eventConsumer) consumeReshareEvent() error {
655660 case err := <- oldSession .ErrChan ():
656661 logger .Error ("Old reshare session error" , err )
657662 ec .handleReshareSessionError (walletID , keyType , msg .NewThreshold , err , "Old reshare session error" , natMsg )
658- doneOld () // Cancel the context to stop this session
663+ doneOld ()
659664 return
660665 }
661666 }
@@ -664,11 +669,7 @@ func (ec *eventConsumer) consumeReshareEvent() error {
664669
665670 if newSession != nil {
666671 ctxNew , doneNew := context .WithCancel (ctx )
667- newSession .Init ()
668- newSession .ListenToIncomingMessageAsync ()
669- ec .warmUpSession ()
670672 go newSession .Reshare (doneNew )
671-
672673 wg .Add (1 )
673674 go func () {
674675 defer wg .Done ()
@@ -680,7 +681,7 @@ func (ec *eventConsumer) consumeReshareEvent() error {
680681 case err := <- newSession .ErrChan ():
681682 logger .Error ("New reshare session error" , err )
682683 ec .handleReshareSessionError (walletID , keyType , msg .NewThreshold , err , "New reshare session error" , natMsg )
683- doneNew () // Cancel the context to stop this session
684+ doneNew ()
684685 return
685686 }
686687 }
0 commit comments