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;
}


-- 
ldv

Attachment: pgpV4AdZ7BOOw.pgp
Description: PGP signature

_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to