File Manager
# # mutex_m.rb
#
# When 'mutex_m' is required, any object that extends or includes Mutex_m will
# be treated like a Mutex.
#
# Start by requiring the standard library Mutex_m:
#
# require "mutex_m.rb"
#
# From here you can extend an object with Mutex instance methods:
#
# obj = Object.new
# obj.extend Mutex_m
#
# Or mixin Mutex_m into your module to your class inherit Mutex instance methods
# --- remember to call super() in your class initialize method.
#
# class Foo
# include Mutex_m
# def initialize
# # ...
# super()
# end
# # ...
# end
# obj = Foo.new
# # this obj can be handled like Mutex
#
module Mutex_m
def self.append_features: (Module cl) -> untyped
def self.define_aliases: (Module cl) -> untyped
def self.extend_object: (Object obj) -> untyped
public
def mu_extended: () -> untyped
# See Mutex#lock
#
def mu_lock: () -> Thread::Mutex
# See Mutex#locked?
#
def mu_locked?: () -> bool
# See Mutex#synchronize
#
def mu_synchronize: [T] () { () -> T } -> T
# See Mutex#try_lock
#
def mu_try_lock: () -> bool
# See Mutex#unlock
#
def mu_unlock: () -> Thread::Mutex
# See Mutex#sleep
#
def sleep: (?Numeric timeout) -> Integer
alias locked? mu_locked?
alias lock mu_lock
alias unlock mu_unlock
alias try_lock mu_try_lock
alias synchronize mu_synchronize
private
def initialize: (*untyped args) -> untyped
def mu_initialize: () -> untyped
end
Mutex_m::VERSION: String
File Manager Version 1.0, Coded By Lucas
Email: hehe@yahoo.com