ÿØÿà JFIF    ÿÛ „ ( %!1!%*+...983,7(-.- synchronize-i.ri000064400000000443152375474320007716 0ustar00U:RDoc::AnyMethod[iI"synchronize:ETI"MonitorMixin#synchronize;TF: privateo:RDoc::Markup::Document: @parts[: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below000[I" (&b);T@ FI"MonitorMixin;TcRDoc::NormalModule0[@FI"mon_synchronize;Tmon_owned%3f-i.ri000064400000000544152375474320007630 0ustar00U:RDoc::AnyMethod[iI"mon_owned?:ETI"MonitorMixin#mon_owned?;TF: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I">Returns true if this monitor is locked by current thread.;T: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"MonitorMixin;TcRDoc::NormalModule00mon_locked%3f-i.ri000064400000000541152375474320007752 0ustar00U:RDoc::AnyMethod[iI"mon_locked?:ETI"MonitorMixin#mon_locked?;TF: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"9Returns true if this monitor is locked by any thread;T: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"MonitorMixin;TcRDoc::NormalModule00new-c.ri000064400000000724152375474320006130 0ustar00U:RDoc::AnyMethod[iI"new:ETI"MonitorMixin::new;TT: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"OUse extend MonitorMixin or include MonitorMixin instead ;TI"Pof this constructor. Have look at the examples above to understand how to ;TI"use this module.;T: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below000[I" (...);T@TI"MonitorMixin;TcRDoc::NormalModule00try_mon_enter-i.ri000064400000000543152375474320010230 0ustar00U:RDoc::AnyMethod[iI"try_mon_enter:ETI"MonitorMixin#try_mon_enter;TF: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"For backward compatibility;T: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"MonitorMixin;TcRDoc::NormalModule0[@FI"mon_try_enter;Tmon_check_owner-i.ri000064400000000417152375474320010504 0ustar00U:RDoc::AnyMethod[iI"mon_check_owner:ETI"!MonitorMixin#mon_check_owner;TF: privateo:RDoc::Markup::Document: @parts[: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@ FI"MonitorMixin;TcRDoc::NormalModule00mon_enter-i.ri000064400000000502152375474320007325 0ustar00U:RDoc::AnyMethod[iI"mon_enter:ETI"MonitorMixin#mon_enter;TF: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"Enters exclusive section.;T: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"MonitorMixin;TcRDoc::NormalModule00new_cond-i.ri000064400000000577152375474320007147 0ustar00U:RDoc::AnyMethod[iI" new_cond:ETI"MonitorMixin#new_cond;TF: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"GCreates a new MonitorMixin::ConditionVariable associated with the ;TI"Monitor object.;T: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"MonitorMixin;TcRDoc::NormalModule00mon_try_enter-i.ri000064400000000703152375474320010226 0ustar00U:RDoc::AnyMethod[iI"mon_try_enter:ETI"MonitorMixin#mon_try_enter;TF: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"IAttempts to enter exclusive section. Returns +false+ if lock fails.;T: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below000[[I"try_mon_enter;To;; [o; ; [I"For backward compatibility;T; @; 0I"();T@FI"MonitorMixin;TcRDoc::NormalModule00cdesc-MonitorMixin.ri000064400000001301152375474320010622 0ustar00U:RDoc::NormalModule[iI"MonitorMixin:ET@0o:RDoc::Markup::Document: @parts[o;;[: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below0; 0; 0[[[[[I" class;T[[: public[[:protected[[: private[[I"extend_object;TI"ext/monitor/lib/monitor.rb;T[I"new;T@[I" instance;T[[; [[; [[; [[I"mon_check_owner;T@[I"mon_enter;T@[I" mon_exit;T@[I"mon_initialize;T@[I"mon_locked?;T@[I"mon_owned?;T@[I"mon_synchronize;T@[I"mon_try_enter;T@[I" new_cond;T@[I"synchronize;T@[I"try_mon_enter;T@[[U:RDoc::Context::Section[i0o;;[; 0; 0[I"ext/monitor/lib/monitor.rb;T@ cRDoc::TopLevelmon_initialize-i.ri000064400000000660152375474320010356 0ustar00U:RDoc::AnyMethod[iI"mon_initialize:ETI" MonitorMixin#mon_initialize;TF: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"MInitializes the MonitorMixin after being included in a class or when an ;TI"3object has been extended with the MonitorMixin;T: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"MonitorMixin;TcRDoc::NormalModule00extend_object-c.ri000064400000000417152375474320010153 0ustar00U:RDoc::AnyMethod[iI"extend_object:ETI" MonitorMixin::extend_object;TT: privateo:RDoc::Markup::Document: @parts[: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below000[I" (obj);T@ TI"MonitorMixin;TcRDoc::NormalModule00ConditionVariable/broadcast-i.ri000064400000000553152375474320012703 0ustar00U:RDoc::AnyMethod[iI"broadcast:ETI".MonitorMixin::ConditionVariable#broadcast;TF: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"0Wakes up all threads waiting for this lock.;T: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ConditionVariable;TcRDoc::NormalClass00ConditionVariable/signal-i.ri000064400000000562152375474320012216 0ustar00U:RDoc::AnyMethod[iI" signal:ETI"+MonitorMixin::ConditionVariable#signal;TF: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"=Wakes up the first thread in line waiting for this lock.;T: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ConditionVariable;TcRDoc::NormalClass00ConditionVariable/new-c.ri000064400000000426152375474320011523 0ustar00U:RDoc::AnyMethod[iI"new:ETI")MonitorMixin::ConditionVariable::new;TT: privateo:RDoc::Markup::Document: @parts[: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below000[I"(monitor);T@ FI"ConditionVariable;TcRDoc::NormalClass00ConditionVariable/wait-i.ri000064400000001100152375474320011672 0ustar00U:RDoc::AnyMethod[iI" wait:ETI")MonitorMixin::ConditionVariable#wait;TF: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"_Releases the lock held in the associated monitor and waits; reacquires the lock on wakeup.;To:RDoc::Markup::BlankLineo; ; [I"PIf +timeout+ is given, this method returns after +timeout+ seconds passed, ;TI",even if no other thread doesn't signal.;T: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below000[I"(timeout = nil);T@FI"ConditionVariable;TcRDoc::NormalClass00ConditionVariable/wait_until-i.ri000064400000000604152375474320013115 0ustar00U:RDoc::AnyMethod[iI"wait_until:ETI"/MonitorMixin::ConditionVariable#wait_until;TF: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"GCalls wait repeatedly until the given block yields a truthy value.;T: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ConditionVariable;TcRDoc::NormalClass00ConditionVariable/wait_while-i.ri000064400000000604152375474320013072 0ustar00U:RDoc::AnyMethod[iI"wait_while:ETI"/MonitorMixin::ConditionVariable#wait_while;TF: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"GCalls wait repeatedly while the given block yields a truthy value.;T: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ConditionVariable;TcRDoc::NormalClass00ConditionVariable/cdesc-ConditionVariable.ri000064400000001544152375474320015167 0ustar00U:RDoc::NormalClass[iI"ConditionVariable:ETI"$MonitorMixin::ConditionVariable;TI" Object;To:RDoc::Markup::Document: @parts[o;;[o:RDoc::Markup::Paragraph;[I".FIXME: This isn't documented in Nutshell.;To:RDoc::Markup::BlankLineo; ;[I"NSince MonitorMixin.new_cond returns a ConditionVariable, and the example ;TI"Habove calls while_wait and signal, this class should be documented.;T: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below0; 0; 0[[[[[I" class;T[[: public[[:protected[[: private[[I"new;TI"ext/monitor/lib/monitor.rb;T[I" instance;T[[; [[;[[;[ [I"broadcast;T@&[I" signal;T@&[I" wait;T@&[I"wait_until;T@&[I"wait_while;T@&[[U:RDoc::Context::Section[i0o;;[; 0; 0[I"ext/monitor/lib/monitor.rb;TI"MonitorMixin;TcRDoc::NormalModulemon_exit-i.ri000064400000000500152375474320007157 0ustar00U:RDoc::AnyMethod[iI" mon_exit:ETI"MonitorMixin#mon_exit;TF: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"Leaves exclusive section.;T: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"MonitorMixin;TcRDoc::NormalModule00mon_synchronize-i.ri000064400000000775152375474320010577 0ustar00U:RDoc::AnyMethod[iI"mon_synchronize:ETI"!MonitorMixin#mon_synchronize;TF: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"LEnters exclusive section and executes the block. Leaves the exclusive ;TI"Dsection automatically when the block exits. See example under ;TI"+MonitorMixin+.;T: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below000[[I"synchronize;To;; [; @; 0I" (&b);T@FI"MonitorMixin;TcRDoc::NormalModule00