qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC PATCH 3/6] job: minor changes to simplify locking


From: Stefan Hajnoczi
Subject: Re: [RFC PATCH 3/6] job: minor changes to simplify locking
Date: Thu, 8 Jul 2021 11:55:01 +0100

On Wed, Jul 07, 2021 at 06:58:10PM +0200, Emanuele Giuseppe Esposito wrote:
> @@ -406,15 +410,18 @@ void *job_create(const char *job_id, const JobDriver 
> *driver, JobTxn *txn,
>              error_setg(errp, "Invalid job ID '%s'", job_id);
>              return NULL;
>          }
> -        if (job_get(job_id)) {
> -            error_setg(errp, "Job ID '%s' already in use", job_id);
> -            return NULL;
> -        }
>      } else if (!(flags & JOB_INTERNAL)) {
>          error_setg(errp, "An explicit job ID is required");
>          return NULL;
>      }
>  
> +    job_lock();
> +    if (job_get(job_id)) {
> +        error_setg(errp, "Job ID '%s' already in use", job_id);
> +        job_unlock();
> +        return NULL;
> +    }
> +

Where is the matching job_unlock() in the success case? Please consider
lock guard macros like QEMU_LOCK_GUARD()/WITH_QEMU_LOCK_GUARD() to
prevent common errors.

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]