@@ -3633,21 +3633,21 @@ int syncd_main(int argc, char **argv)
36333633
36343634 SWSS_LOG_NOTICE (" syncd listening for events" );
36353635
3636- swss::Select s ;
3636+ std::shared_ptr< swss::Select> s = std::make_shared<swss::Select>() ;
36373637
3638- s. addSelectable (asicState.get ());
3639- s. addSelectable (restartQuery.get ());
3640- s. addSelectable (flexCounter.get ());
3641- s. addSelectable (flexCounterGroup.get ());
3642- s. addSelectable (ffb.get ());
3638+ s-> addSelectable (asicState.get ());
3639+ s-> addSelectable (restartQuery.get ());
3640+ s-> addSelectable (flexCounter.get ());
3641+ s-> addSelectable (flexCounterGroup.get ());
3642+ s-> addSelectable (ffb.get ());
36433643
36443644 SWSS_LOG_NOTICE (" starting main loop" );
36453645
36463646 while (true )
36473647 {
36483648 swss::Selectable *sel = NULL ;
36493649
3650- int result = s. select (&sel);
3650+ int result = s-> select (&sel);
36513651
36523652 if (sel == restartQuery.get ())
36533653 {
@@ -3710,9 +3710,9 @@ int syncd_main(int argc, char **argv)
37103710 {
37113711 warmRestartTable->hset (" warm-shutdown" , " state" , " pre-shutdown-succeeded" );
37123712
3713- s = swss::Select ();
3713+ s = std::make_shared< swss::Select> (); // make sure previous select is destroyed
37143714
3715- s. addSelectable (restartQuery.get ());
3715+ s-> addSelectable (restartQuery.get ());
37163716
37173717 SWSS_LOG_NOTICE (" switched to PRE_SHUTDOWN, from now on accepting only shurdown requests" );
37183718 }
0 commit comments