method

remove_callback_internal

ruby latest stable - Class: DL

Method deprecated or moved

This method is deprecated or moved on the latest stable version. The last existing version (v2_1_10) is shown here.

remove_callback_internal(proc_entry, addr_entry, addr, ctype = nil)
public

No documentation available.

# File ext/dl/lib/dl/callback.rb, line 70
  def remove_callback_internal(proc_entry, addr_entry, addr, ctype = nil)
    if DL.fiddle?
      addr = addr.to_i
      return false unless proc_entry.key?(addr)
      proc_entry.delete(addr)
      true
    else
      index = nil
      if( ctype )
        addr_entry[ctype].each_with_index{|xaddr, idx|
          if( xaddr == addr )
            index = idx
          end
        }
      else
        addr_entry.each{|ty,entry|
          entry.each_with_index{|xaddr, idx|
            if( xaddr == addr )
              index = idx
            end
          }
        }
      end
      if( index and proc_entry[ctype][index] )
        proc_entry[ctype][index] = nil
        return true
      else
        return false
      end
    end
  end