Fix soft-mutex assert in websocket stream:

Fix #1000

This resolves the assert 'ws_.wr_block_ == tok_'.
This commit is contained in:
Vinnie Falco
2018-02-16 10:51:28 -08:00
parent 9f3c981d6a
commit ab32400d00
12 changed files with 173 additions and 162 deletions
+8 -8
View File
@@ -287,7 +287,7 @@ public:
BOOST_THROW_EXCEPTION(
system_error{ec});
});
BEAST_EXPECT(ws.wr_block_);
BEAST_EXPECT(ws.wr_block_.is_locked());
BEAST_EXPECT(count == 0);
ws.async_write(sbuf("*"),
[&](error_code ec, std::size_t n)
@@ -320,7 +320,7 @@ public:
BOOST_THROW_EXCEPTION(
system_error{ec});
});
BEAST_EXPECT(ws.wr_block_);
BEAST_EXPECT(ws.wr_block_.is_locked());
BEAST_EXPECT(count == 0);
ws.async_write(sbuf("*"),
[&](error_code ec, std::size_t)
@@ -356,7 +356,7 @@ public:
BOOST_THROW_EXCEPTION(
system_error{ec});
});
while(! ws.wr_block_)
while(! ws.wr_block_.is_locked())
{
ioc.run_one();
if(! BEAST_EXPECT(! ioc.stopped()))
@@ -398,7 +398,7 @@ public:
system_error{ec});
BEAST_EXPECT(n == 16384);
});
BEAST_EXPECT(ws.wr_block_);
BEAST_EXPECT(ws.wr_block_.is_locked());
ws.async_ping("",
[&](error_code ec)
{
@@ -432,7 +432,7 @@ public:
system_error{ec});
BEAST_EXPECT(n == 16384);
});
BEAST_EXPECT(ws.wr_block_);
BEAST_EXPECT(ws.wr_block_.is_locked());
ws.async_ping("",
[&](error_code ec)
{
@@ -466,7 +466,7 @@ public:
system_error{ec});
BEAST_EXPECT(n == 16384);
});
BEAST_EXPECT(ws.wr_block_);
BEAST_EXPECT(ws.wr_block_.is_locked());
ws.async_ping("",
[&](error_code ec)
{
@@ -499,7 +499,7 @@ public:
system_error{ec});
BEAST_EXPECT(n == 16384);
});
BEAST_EXPECT(ws.wr_block_);
BEAST_EXPECT(ws.wr_block_.is_locked());
ws.async_ping("",
[&](error_code ec)
{
@@ -537,7 +537,7 @@ public:
system_error{ec});
BEAST_EXPECT(n == s.size());
});
BEAST_EXPECT(ws.wr_block_);
BEAST_EXPECT(ws.wr_block_.is_locked());
ws.async_ping("",
[&](error_code ec)
{