Browse Source

fixed build error for gcc 4.7

pull/806/head
orignal 8 years ago
parent
commit
55f891e2aa
  1. 17
      NTCPSession.cpp

17
NTCPSession.cpp

@ -167,7 +167,13 @@ namespace transport @@ -167,7 +167,13 @@ namespace transport
return;
}
}
#if (__GNUC__ == 4) && (__GNUC_MINOR__ <= 7)
// due the bug in gcc 4.7. std::shared_future.get() is not const
if (!m_DHKeysPair)
m_DHKeysPair = transports.GetNextDHKeysPair ();
CreateAESKey (m_Establisher->phase1.pubKey);
SendPhase2 ();
#else
// TODO: check for number of pending keys
auto s = shared_from_this ();
auto keyCreated = std::async (std::launch::async, [s] ()
@ -180,7 +186,8 @@ namespace transport @@ -180,7 +186,8 @@ namespace transport
{
keyCreated.get ();
s->SendPhase2 ();
});
});
#endif
}
}
@ -239,6 +246,11 @@ namespace transport @@ -239,6 +246,11 @@ namespace transport
}
else
{
#if (__GNUC__ == 4) && (__GNUC_MINOR__ <= 7)
// due the bug in gcc 4.7. std::shared_future.get() is not const
CreateAESKey (m_Establisher->phase2.pubKey);
HandlePhase2 ();
#else
auto s = shared_from_this ();
// create AES key in separate thread
auto keyCreated = std::async (std::launch::async, [s] ()
@ -251,6 +263,7 @@ namespace transport @@ -251,6 +263,7 @@ namespace transport
keyCreated.get (); // we might wait if no more pending operations
s->HandlePhase2 ();
});
#endif
}
}

Loading…
Cancel
Save