[Libguestfs] [nbdkit PATCH 2/5] threadlocal: Add way to store current context

Richard W.M. Jones rjones at redhat.com
Tue May 11 14:08:44 UTC 2021


On Thu, May 06, 2021 at 08:59:37PM -0500, Eric Blake wrote:
> +/* Set (or clear) the context using the current thread */

I might add a comment here saying that you should prefer to use the
PUSH_CONTEXT_FOR_SCOPE() macro rather than calling the function
directly; or noting that the macro uses this function.

But the patch is fine, ACK.

Rich.

> +struct context *
> +threadlocal_push_context (struct context *ctx)
> +{
> +  struct threadlocal *threadlocal = pthread_getspecific (threadlocal_key);
> +  struct context *ret = NULL;
> +
> +  if (threadlocal) {
> +    ret = threadlocal->ctx;
> +    threadlocal->ctx = ctx;
> +  }
> +  return ret;
> +}
> +
> +void
> +threadlocal_pop_context (struct context **ctx)
> +{
> +  threadlocal_push_context (*ctx);
> +}
> -- 
> 2.31.1
> 
> _______________________________________________
> Libguestfs mailing list
> Libguestfs at redhat.com
> https://listman.redhat.com/mailman/listinfo/libguestfs

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org




More information about the Libguestfs mailing list