U:RDoc::NormalModule[iI" Mutex_m:EF@0o:RDoc::Markup::Document: @parts[o;;[S:RDoc::Markup::Heading: leveli: textI"mutex_m.rb;To:RDoc::Markup::BlankLineo:RDoc::Markup::Paragraph;[I"RWhen 'mutex_m' is required, any object that extends or includes Mutex_m will ;TI"be treated like a Mutex.;T@o; ;[I"5Start by requiring the standard library Mutex_m:;T@o:RDoc::Markup::Verbatim;[I"require "mutex_m.rb" ;T: @format0o; ;[I"DFrom here you can extend an object with Mutex instance methods:;T@o;;[I"obj = Object.new ;TI"obj.extend Mutex_m ;T;0o; ;[I"LOr mixin Mutex_m into your module to your class inherit Mutex instance ;TI" methods.;T@o;;[ I"class Foo ;TI" include Mutex_m ;TI" # ... ;TI" end ;TI"obj = Foo.new ;TI")# this obj can be handled like Mutex;T;0: @fileI"lib/mutex_m.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[[I" class;T[[: public[[:protected[[: private[[I" instance;T[[;[ [I" mu_lock;FI"lib/mutex_m.rb;T[I"mu_locked?;F@A[I"mu_synchronize;F@A[I"mu_try_lock;F@A[I"mu_unlock;F@A[I" sleep;F@A[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@,@,cRDoc::TopLevel