Fix soft-mutex assert in websocket stream:

Fix #1000

This resolves the assert 'ws_.wr_block_ == tok_'.
This commit is contained in:
Vinnie Falco committed 2018-02-16 10:51:28 -08:00
1 parent 9f3c981d6a
commit ab32400d00
12 files changed
+173 -162

No files matched your search

+7 -7
View File
@@ -187,7 +187,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_close({},
[&](error_code ec)
@@ -220,7 +220,7 @@ public:
system_error{ec});
BEAST_EXPECT(n == 1);
});
BEAST_EXPECT(ws.wr_block_);
BEAST_EXPECT(ws.wr_block_.is_locked());
BEAST_EXPECT(count == 0);
ws.async_close({},
[&](error_code ec)
@@ -256,7 +256,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()))
@@ -297,7 +297,7 @@ public:
system_error{ec});
BEAST_EXPECT(++count == 1);
});
while(! ws.wr_block_)
while(! ws.wr_block_.is_locked())
{
ioc.run_one();
if(! BEAST_EXPECT(! ioc.stopped()))
@@ -338,7 +338,7 @@ public:
system_error{ec});
BEAST_EXPECT(++count == 1);
});
while(! ws.wr_block_)
while(! ws.wr_block_.is_locked())
{
ioc.run_one();
if(! BEAST_EXPECT(! ioc.stopped()))
@@ -433,7 +433,7 @@ public:
system_error{ec});
BEAST_EXPECT(++count == 3);
});
BEAST_EXPECT(ws.rd_block_);
BEAST_EXPECT(ws.rd_block_.is_locked());
ws.async_close({},
[&](error_code ec)
{
@@ -443,7 +443,7 @@ public:
BEAST_EXPECT(++count == 2);
});
BEAST_EXPECT(ws.is_open());
BEAST_EXPECT(ws.wr_block_);
BEAST_EXPECT(ws.wr_block_.is_locked());
BEAST_EXPECT(count == 0);
ioc.run();
BEAST_EXPECT(count == 3);