I'm looking for an example of how one could write a dtrace probe
that could follow something like a NULL terminated linked list.

For example:

struct list {
    struct list *next;
    void *data;
};

struct list *list_root;


Assuming I had "list_root" available, but I wanted to know how long
the linked list is, how can I do this in a dtrace probe?

If I had looping constructs, it would be obvious:

int
count_list(struct list *list)
{
    int i;

    for (i = 0; list != NULL; list = list->next)
        ++i;

    return i;
}

In the dtrace scripting language there are no loop constructs, but is
there a way to add a new provider than can loop?

Thank you,
Lida Horn


_______________________________________________
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org

Reply via email to