qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: [PATCH 03/13] Add callback function to ThreadletWork st


From: Stefan Hajnoczi
Subject: [Qemu-devel] Re: [PATCH 03/13] Add callback function to ThreadletWork structure.
Date: Wed, 5 Jan 2011 19:54:17 +0000
User-agent: Mutt/1.5.20 (2009-06-14)

On Tue, Jan 04, 2011 at 10:57:20AM +0530, Arun R Bharadwaj wrote:
> +static void aio_thread(ThreadletWork *work)
> +{

aio_thread() is not a descriptive name here.  This isn't the top-level
thread function, just the work->func.  Please choose something like
handle_aiocb() or handle_work().

> +    pid_t pid;
> +    ssize_t ret = 0;
> +    struct qemu_paiocb *aiocb;
> +
> +    pid = getpid();
> +    aiocb = container_of(work, struct qemu_paiocb, work);
> +    aiocb->active = 1;

aiocb_mutex?

>  
> -        if (kill(pid, aiocb->ev_signo)) die("kill failed");
> +    switch (aiocb->aio_type & QEMU_AIO_TYPE_MASK) {
> +    case QEMU_AIO_READ:
> +    case QEMU_AIO_WRITE:
> +        ret = handle_aiocb_rw(aiocb);
> +        break;
> +    case QEMU_AIO_FLUSH:
> +        ret = handle_aiocb_flush(aiocb);
> +        break;
> +    case QEMU_AIO_IOCTL:
> +        ret = handle_aiocb_ioctl(aiocb);
> +        break;
> +    default:
> +        fprintf(stderr, "invalid aio request (0x%x)\n", aiocb->aio_type);
> +        ret = -EINVAL;
> +        break;
>      }
>  
> -    idle_threads--;
> -    cur_threads--;
> -    mutex_unlock(&lock);
> +    qemu_mutex_lock(&aiocb_mutex);
> +    aiocb->ret = ret;
> +    qemu_cond_broadcast(&aiocb_completion);
> +    qemu_mutex_unlock(&aiocb_mutex);
>  
> -    return NULL;
> +    if (kill(pid, aiocb->ev_signo)) {
> +        die("kill failed");
> +    }
> +    return;

return not needed in void function, please remove.

Stefan



reply via email to

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