[Intel-gfx] [PATCH v4 2/5] drm: Add private data field to trace control block

Patrik Jakobsson patrik.r.jakobsson at gmail.com
Mon Sep 7 18:23:57 UTC 2015


On Mon, Sep 7, 2015 at 6:51 PM, Dmitry V. Levin <ldv at altlinux.org> wrote:
> On Mon, Aug 31, 2015 at 02:37:07PM +0200, Patrik Jakobsson wrote:
> [...]
>> Here's my take on it (I assume it needs some discussion):
>>
>> int
>> set_tcb_priv_data(struct tcb *tcp, void *priv_data)
>> {
>>       /* A free callback is required before setting private data and private
>>        * data must be set back to NULL before being set again.
>>        */
>
> I think a single function initializing both _priv_data and _free_priv_data
> would suffice:
>
> int
> set_tcb_priv_data(struct tcb *tcp, void *priv_data,
>                   void (*free_priv_data)(void *))
> {
>         if (tcp->_priv_data)
>                 return -1;
>
>         tcp->_free_priv_data = free_priv_data;
>         tcp->_priv_data = priv_data;
>
>         return 0;
> }

Sure, and since they always come in a pairs it might be even better. If it turns
out we need it split up it is easily done later.

Thanks
Patrik




More information about the Strace-devel mailing list