Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • D dynamorio
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,467
    • Issues 1,467
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 44
    • Merge requests 44
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • DynamoRIO
  • dynamorio
  • Issues
  • #1762
Closed
Open
Issue created Aug 11, 2015 by Administrator@rootContributor

Create callback_list in drcontainers and switch to dynamic callback priorities in drmgr

Created by: byron-hawkins

The new Dr. Fuzz feature of Dr. Memory (xref drmem #1734) needs a generic callback list. Since drmgr already has one, we can just move it to drcontainers and make it available to all clients.

A couple of changes should be made to the implementation to make it more friendly for general use:

  1. In the add function, when the before priority is not NULL, the list should return an error if that priority is not found in the list
  2. The resize function should remove invalid entries (i.e., not copy them to the new array) to minimize fragmentation for frequently modified callback lists

To avoid complications in the remove function, the list will need to allow direct index-based iteration, since existing usage by drmgr does not have a single key per entry (see drmgr_bb_cb_remove() in drmgr.c).

Assignee
Assign to
Time tracking