ÿØÿà JFIF    ÿÛ „ ( %!1!%*+...983,7(-.- PK]N==synchronize-i.rinu[U:RDoc::AnyMethod[iI"synchronize:ETI"Monitor#synchronize;TF: privateo:RDoc::Markup::Document: @parts[: @fileI"ext/monitor/monitor.c;T:0@omit_headings_from_table_of_contents_below000[[I"mon_synchronize;To;; [; I"ext/monitor/lib/monitor.rb;T; 0I"();T@ FI" Monitor;TcRDoc::NormalClass00PK]i$mon_owned%3f-i.rinu[U:RDoc::AnyMethod[iI"mon_owned?:ETI"Monitor#mon_owned?;TF: privateo:RDoc::Markup::Document: @parts[: @fileI"ext/monitor/monitor.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@ FI" Monitor;TcRDoc::NormalClass00PK]Rmon_locked%3f-i.rinu[U:RDoc::AnyMethod[iI"mon_locked?:ETI"Monitor#mon_locked?;TF: privateo:RDoc::Markup::Document: @parts[: @fileI"ext/monitor/monitor.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@ FI" Monitor;TcRDoc::NormalClass00PK]$yKKtry_mon_enter-i.rinu[U:RDoc::AnyMethod[iI"try_mon_enter:ETI"Monitor#try_mon_enter;TF: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"for compatibility;T: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI" Monitor;TcRDoc::NormalClass0[@FI"try_enter;TPK] (%mon_check_owner-i.rinu[U:RDoc::AnyMethod[iI"mon_check_owner:ETI"Monitor#mon_check_owner;TF: privateo:RDoc::Markup::Document: @parts[: @fileI"ext/monitor/monitor.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@ FI" Monitor;TcRDoc::NormalClass00PK]:Fmon_enter-i.rinu[U:RDoc::AnyMethod[iI"mon_enter:ETI"Monitor#mon_enter;TF: privateo:RDoc::Markup::Document: @parts[: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@ FI" Monitor;TcRDoc::NormalClass0[@FI" enter;TPK]Hτwait_for_cond-i.rinu[U:RDoc::AnyMethod[iI"wait_for_cond:ETI"Monitor#wait_for_cond;TF: privateo:RDoc::Markup::Document: @parts[: @fileI"ext/monitor/monitor.c;T:0@omit_headings_from_table_of_contents_below000[I" (p1, p2);T@ FI" Monitor;TcRDoc::NormalClass00PK] new_cond-i.rinu[U:RDoc::AnyMethod[iI" new_cond:ETI"Monitor#new_cond;TF: privateo:RDoc::Markup::Document: @parts[: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@ FI" Monitor;TcRDoc::NormalClass00PK]mon_try_enter-i.rinu[U:RDoc::AnyMethod[iI"mon_try_enter:ETI"Monitor#mon_try_enter;TF: privateo:RDoc::Markup::Document: @parts[: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@ FI" Monitor;TcRDoc::NormalClass0[@FI"try_enter;TPK]ˁtry_enter-i.rinu[U:RDoc::AnyMethod[iI"try_enter:ETI"Monitor#try_enter;TF: privateo:RDoc::Markup::Document: @parts[: @fileI"ext/monitor/monitor.c;T:0@omit_headings_from_table_of_contents_below000[[I"try_mon_enter;To;; [o:RDoc::Markup::Paragraph; [I"for compatibility;T; I"ext/monitor/lib/monitor.rb;T; 0[I"mon_try_enter;To;; [; @; 0I"();T@ FI" Monitor;TcRDoc::NormalClass00PK]sc mon_exit-i.rinu[U:RDoc::AnyMethod[iI" mon_exit:ETI"Monitor#mon_exit;TF: privateo:RDoc::Markup::Document: @parts[: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@ FI" Monitor;TcRDoc::NormalClass0[@FI" exit;TPK]c㲀++ enter-i.rinu[U:RDoc::AnyMethod[iI" enter:ETI"Monitor#enter;TF: privateo:RDoc::Markup::Document: @parts[: @fileI"ext/monitor/monitor.c;T:0@omit_headings_from_table_of_contents_below000[[I"mon_enter;To;; [; I"ext/monitor/lib/monitor.rb;T; 0I"();T@ FI" Monitor;TcRDoc::NormalClass00PK]5(( exit-i.rinu[U:RDoc::AnyMethod[iI" exit:ETI"Monitor#exit;TF: privateo:RDoc::Markup::Document: @parts[: @fileI"ext/monitor/monitor.c;T:0@omit_headings_from_table_of_contents_below000[[I" mon_exit;To;; [; I"ext/monitor/lib/monitor.rb;T; 0I"();T@ FI" Monitor;TcRDoc::NormalClass00PK]#yycdesc-Monitor.rinu[U:RDoc::NormalClass[iI" Monitor:ET@I" Object;To:RDoc::Markup::Document: @parts[o;;[o:RDoc::Markup::Paragraph;[I"OUse the Monitor class when you want to have a lock object for blocks with ;TI"mutual exclusion.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;[ I"require 'monitor' ;TI" ;TI"lock = Monitor.new ;TI"lock.synchronize do ;TI" # exclusive access ;TI"end;T: @format0: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below0o;;[; I"ext/monitor/monitor.c;T;0; 0;0[[[[[I" class;T[[: public[[:protected[[: private[[I" instance;T[[;[[;[[;[[I" enter;TI"ext/monitor/monitor.c;T[I" exit;T@6[I"mon_check_owner;T@6[I"mon_enter;TI"ext/monitor/lib/monitor.rb;T[I" mon_exit;T@=[I"mon_locked?;T@6[I"mon_owned?;T@6[I"mon_synchronize;T@=[I"mon_try_enter;T@=[I" new_cond;T@=[I"synchronize;T@6[I"try_enter;T@6[I"try_mon_enter;T@=[I"wait_for_cond;T@6[[U:RDoc::Context::Section[i0o;;[; 0;0[I"ext/monitor/lib/monitor.rb;TI"ext/monitor/monitor.c;T@cRDoc::TopLevelPK]͒mon_synchronize-i.rinu[U:RDoc::AnyMethod[iI"mon_synchronize:ETI"Monitor#mon_synchronize;TF: privateo:RDoc::Markup::Document: @parts[: @fileI"ext/monitor/lib/monitor.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@ FI" Monitor;TcRDoc::NormalClass0[@FI"synchronize;TPK]N==synchronize-i.rinu[PK]i$}mon_owned%3f-i.rinu[PK]Rmon_locked%3f-i.rinu[PK]$yKKtry_mon_enter-i.rinu[PK] (%ymon_check_owner-i.rinu[PK]:Fmon_enter-i.rinu[PK]Hτwait_for_cond-i.rinu[PK] E new_cond-i.rinu[PK]x mon_try_enter-i.rinu[PK]ˁ try_enter-i.rinu[PK]sc  mon_exit-i.rinu[PK]c㲀++ enter-i.rinu[PK]5(( Fexit-i.rinu[PK]#yycdesc-Monitor.rinu[PK]͒`mon_synchronize-i.rinu[PK