Skip to content

Commit ebeebe7

Browse files
committed
pkg/loop: wait from chain family
1 parent 8fd3a49 commit ebeebe7

2 files changed

Lines changed: 15 additions & 0 deletions

File tree

pkg/loop/internal/goplugin/plugin_service.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,15 @@ func (s *PluginService[P, S]) WaitCtx(ctx context.Context) error {
261261
}
262262
}
263263

264+
func (s *PluginService[P, S]) Wait() error {
265+
select {
266+
case <-s.serviceCh:
267+
return nil
268+
case <-s.stopCh:
269+
return fmt.Errorf("service was stoped while waiting: %w", context.Canceled)
270+
}
271+
}
272+
264273
// XXXTestHook returns a TestPluginService.
265274
// It must only be called once, and before Start.
266275
func (s *PluginService[P, S]) XXXTestHook() TestPluginService[P, S] {

pkg/loop/relayer_service.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,16 @@ func NewRelayerService(lggr logger.Logger, grpcOpts GRPCOpts, cmd func() *exec.C
4343
}
4444

4545
func (r *RelayerService) EVM() (types.EVMService, error) {
46+
if err := r.Wait(); err != nil {
47+
return nil, err
48+
}
4649
return r.Service.EVM()
4750
}
4851

4952
func (r *RelayerService) TON() (types.TONService, error) {
53+
if err := r.Wait(); err != nil {
54+
return nil, err
55+
}
5056
return r.Service.TON()
5157
}
5258

0 commit comments

Comments
 (0)