/* * call-seq: * dir.make_lock(lock_name) -> self * * Make a lock with the name +lock_name+. Note that lockfiles will be stored * in the directory with other files but they won't be visible to you. You * should avoid using files with a .lck extension as this extension is * reserved for lock files */ static VALUE frb_dir_make_lock(VALUE self, VALUE rlock_name) { VALUE rlock; Lock *lock; Store *store = DATA_PTR(self); StringValue(rlock_name); lock = open_lock(store, rs2s(rlock_name)); rlock = Data_Wrap_Struct(cLock, &frb_lock_mark, &frb_lock_free, lock); object_add(lock, rlock); return rlock; }