Class: Winipc::Event

Inherits:
Object
  • Object
show all
Defined in:
lib/winipc.rb,
ext/winipc/winipc.c

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.create(name, manual_reset: false, initial: false, scope: :local, security: :owner) ⇒ Object



284
285
286
# File 'lib/winipc.rb', line 284

def self.create(name, manual_reset: false, initial: false, scope: :local, security: :owner)
  _create(K_EVENT, Winipc.obj_path(name, scope), manual_reset, initial, security)
end

.open(name, scope: :local) ⇒ Object



288
289
290
# File 'lib/winipc.rb', line 288

def self.open(name, scope: :local)
  _open(K_EVENT, Winipc.obj_path(name, scope))
end

Instance Method Details

#resetObject



1127
1128
1129
1130
1131
1132
1133
# File 'ext/winipc/winipc.c', line 1127

static VALUE
event_reset(VALUE self)
{
    sync_t *s = sync_live(self);
    if (!ResetEvent(s->h)) raise_gle("ResetEvent", GetLastError());
    return self;
}

#signalObject



1119
1120
1121
1122
1123
1124
1125
# File 'ext/winipc/winipc.c', line 1119

static VALUE
event_signal(VALUE self)
{
    sync_t *s = sync_live(self);
    if (!SetEvent(s->h)) raise_gle("SetEvent", GetLastError());
    return self;
}

#wait(timeout: nil) ⇒ Object

Wait for the event to be signaled. Returns true, or false on timeout.



293
294
295
# File 'lib/winipc.rb', line 293

def wait(timeout: nil)
  Winipc.run_blocking { _wait(Winipc.ms_for(timeout)) } == :ok
end