mirror of
https://github.com/vicliu624/trail-mate.git
synced 2026-11-11 22:57:41 +00:00
22 lines
571 B
C++
22 lines
571 B
C++
#include "hostlink/route_storage_lease.h"
|
|
#include <cassert>
|
|
int main()
|
|
{
|
|
namespace lease = hostlink::route_storage_lease;
|
|
static_assert(sizeof(lease::held) <= 4, "Route lease must remain a tiny flag");
|
|
assert(lease::acquire());
|
|
{
|
|
lease::Guard ui;
|
|
assert(!ui.acquired());
|
|
}
|
|
assert(!lease::acquire()); // failed UI guard must not release task ownership
|
|
lease::release();
|
|
{
|
|
lease::Guard ui;
|
|
assert(ui.acquired());
|
|
assert(!lease::acquire());
|
|
}
|
|
assert(lease::acquire());
|
|
lease::release();
|
|
}
|