Skip to content

Commit 097a260

Browse files
kcudnikVolodymyr Samotiy
authored andcommitted
Fix pre shutdown select (sonic-net#397)
1 parent bb7612d commit 097a260

1 file changed

Lines changed: 9 additions & 9 deletions

File tree

syncd/syncd.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)