Add assertions for uninitialized LocalManualEvents.
This commit is contained in:
parent
a6eeae97f3
commit
be0de0a733
|
@ -716,6 +716,7 @@ struct LocalManualEvent {
|
||||||
/// Emits the signal, waking up all owners of the signal.
|
/// Emits the signal, waking up all owners of the signal.
|
||||||
int emit()
|
int emit()
|
||||||
nothrow {
|
nothrow {
|
||||||
|
assert(m_waiter !is null, "LocalManualEvent is not initialized - use createManualEvent()");
|
||||||
logTrace("unshared emit");
|
logTrace("unshared emit");
|
||||||
auto ec = m_waiter.m_emitCount++;
|
auto ec = m_waiter.m_emitCount++;
|
||||||
m_waiter.emit();
|
m_waiter.emit();
|
||||||
|
@ -725,6 +726,7 @@ struct LocalManualEvent {
|
||||||
/// Emits the signal, waking up a single owners of the signal.
|
/// Emits the signal, waking up a single owners of the signal.
|
||||||
int emitSingle()
|
int emitSingle()
|
||||||
nothrow {
|
nothrow {
|
||||||
|
assert(m_waiter !is null, "LocalManualEvent is not initialized - use createManualEvent()");
|
||||||
logTrace("unshared single emit");
|
logTrace("unshared single emit");
|
||||||
auto ec = m_waiter.m_emitCount++;
|
auto ec = m_waiter.m_emitCount++;
|
||||||
m_waiter.emitSingle();
|
m_waiter.emitSingle();
|
||||||
|
@ -768,6 +770,8 @@ struct LocalManualEvent {
|
||||||
{
|
{
|
||||||
import std.datetime : Clock, SysTime, UTC;
|
import std.datetime : Clock, SysTime, UTC;
|
||||||
|
|
||||||
|
assert(m_waiter !is null, "LocalManualEvent is not initialized - use createManualEvent()");
|
||||||
|
|
||||||
SysTime target_timeout, now;
|
SysTime target_timeout, now;
|
||||||
if (timeout != Duration.max) {
|
if (timeout != Duration.max) {
|
||||||
try now = Clock.currTime(UTC());
|
try now = Clock.currTime(UTC());
|
||||||
|
|
Loading…
Reference in a new issue