Skip to content

Instantly share code, notes, and snippets.

@dulao5
Created November 10, 2017 05:55
Show Gist options
  • Save dulao5/fde8e79492722c846be176d2b5e455a0 to your computer and use it in GitHub Desktop.
Save dulao5/fde8e79492722c846be176d2b5e455a0 to your computer and use it in GitHub Desktop.
find Mutex in instance_variables
def find_mutex(v, rootname, level=1)
prefix = "\t" * level
found_name = nil
puts prefix + "now find " + rootname
v.instance_variable_names.each {|name|
puts prefix + "find " + rootname + " > " + name
namev = v.instance_variable_get(name);
puts prefix + "find " + rootname + " > " + name + " class : " + namev.class.to_s
found_name = if(namev.class == Mutex)
rootname + " > " + name
else
find_mutex(namev, rootname + " > " + name, level + 1)
end
break unless found_name.nil?
}
return found_name
end
find_mutex(aa, "root", 1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment