[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 4/4] hw/qxl-render: drop cursor locks, replac
From: |
Jes Sorensen |
Subject: |
Re: [Qemu-devel] [PATCH v3 4/4] hw/qxl-render: drop cursor locks, replace with pipe |
Date: |
Wed, 16 Mar 2011 17:48:41 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101209 Fedora/3.1.7-0.35.b3pre.fc14 Thunderbird/3.1.7 |
On 03/16/11 16:52, Alon Levy wrote:
> +void qxl_server_request_cursor_set(PCIQXLDevice *qxl, QEMUCursor *c, int x,
> int y)
> +{
> + QXLServerCursorSetRequest req;
> + int r;
> +
> + req.req = QXL_SERVER_CURSOR_SET;
> + req.data.c = c;
> + req.data.x = x;
> + req.data.y = y;
> + r = write(qxl->ssd.pipe[1], &req, sizeof(req));
> + assert(r == sizeof(req));
> +}
There's a number of asserts here, which I am not sure is a good thing. I
don't understand how far down the code this is, and if it is really
fatal if this write fails?
> +/* called from spice server thread context only */
> +void qxl_server_request_cursor_move(PCIQXLDevice *qxl, int x, int y)
> +{
> + QXLServerCursorMoveRequest req;
> + int r;
> +
> + req.req = QXL_SERVER_CURSOR_MOVE;
> + req.data.x = x;
> + req.data.y = y;
> + r = write(qxl->ssd.pipe[1], &req, sizeof(req));
> + assert(r == sizeof(req));
ditto
> +static void read_bytes(int fd, void *buf, int len_requested)
> +{
> + int len;
> + int total_len = 0;
> +
> + do {
> + len = read(fd, buf, len_requested - total_len);
> + if (len < 0) {
> + if (errno == EINTR || errno == EAGAIN) {
> + continue;
> + }
> + perror("qxl: pipe_read: read failed");
> + /* will abort once it's out of the while loop */
> + break;
> + }
> + total_len += len;
> + buf = (uint8_t *)buf + len;
> + } while (total_len < len_requested);
> + assert(total_len == len_requested);
and here?
Cheers,
Jes
- [Qemu-devel] [PATCH v3 1/4] qxl/spice-display: move pipe to ssd, (continued)
- [Qemu-devel] [PATCH v3 1/4] qxl/spice-display: move pipe to ssd, Alon Levy, 2011/03/16
- [Qemu-devel] [PATCH v3 2/4] qxl: implement get_command in vga mode without locks, Alon Levy, 2011/03/16
- [Qemu-devel] [PATCH v3 3/4] qxl/spice: remove qemu_mutex_{un, }lock_iothread around dispatcher, Alon Levy, 2011/03/16
- [Qemu-devel] [PATCH v3 4/4] hw/qxl-render: drop cursor locks, replace with pipe, Alon Levy, 2011/03/16
- [Qemu-devel] Re: [PATCH v3 4/4] hw/qxl-render: drop cursor locks, replace with pipe, Hans de Goede, 2011/03/16
- Re: [Qemu-devel] [PATCH v3 4/4] hw/qxl-render: drop cursor locks, replace with pipe,
Jes Sorensen <=
- Re: [Qemu-devel] [PATCH v3 4/4] hw/qxl-render: drop cursor locks, replace with pipe, Alon Levy, 2011/03/17
- Re: [Qemu-devel] [PATCH v3 4/4] hw/qxl-render: drop cursor locks, replace with pipe, Jes Sorensen, 2011/03/17
- Re: [Qemu-devel] [PATCH v3 4/4] hw/qxl-render: drop cursor locks, replace with pipe, Alon Levy, 2011/03/17
- Re: [Qemu-devel] [PATCH v3 4/4] hw/qxl-render: drop cursor locks, replace with pipe, Jes Sorensen, 2011/03/17
- Re: [Qemu-devel] [PATCH v3 4/4] hw/qxl-render: drop cursor locks, replace with pipe, Alon Levy, 2011/03/17
- Re: [Qemu-devel] [PATCH v3 4/4] hw/qxl-render: drop cursor locks, replace with pipe, Jes Sorensen, 2011/03/17
- Re: [Qemu-devel] [PATCH v3 4/4] hw/qxl-render: drop cursor locks, replace with pipe, Alon Levy, 2011/03/17