clang++ fix.

"C++11 requires lambda with omitted result type to consist of a single return statement"
上级 cafff26f
......@@ -79,7 +79,7 @@ bget(u32 dev, u64 sector, int *writer)
// Allocate fresh block.
struct buf *victim = 0;
bufns->enumerate([&victim](const pair<u32, u64>&, buf *b) {
bufns->enumerate([&victim](const pair<u32, u64>&, buf *b)->bool {
acquire(&b->lock);
if ((b->flags & (B_BUSY | B_DIRTY | B_VALID)) == 0) {
victim = b;
......@@ -89,7 +89,7 @@ bget(u32 dev, u64 sector, int *writer)
return false;
});
if (victim == 0)
bufns->enumerate([&victim](const pair<u32, u64>&, buf *b) {
bufns->enumerate([&victim](const pair<u32, u64>&, buf *b)->bool {
acquire(&b->lock);
if ((b->flags & (B_BUSY | B_DIRTY)) == 0) {
victim = b;
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论