[PATCH 10/10] clients: Silence 2x gcc 4.6.3 "warn_unused_result" compiler warnings

Pekka Paalanen ppaalanen at gmail.com
Sun Jul 8 00:58:35 PDT 2012


On Sun,  8 Jul 2012 03:03:47 +0200
Martin Olsson <martin at minimum.se> wrote:

> window.c:1173:6: warning: ignoring return value of ‘read’, declared with attribute warn_unused_result [-Wunused-result]
> desktop-shell.c:305:6: warning: ignoring return value of ‘read’, declared with attribute warn_unused_result [-Wunused-result]
> ---
>  clients/desktop-shell.c |    3 ++-
>  clients/window.c        |    3 ++-
>  2 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/clients/desktop-shell.c b/clients/desktop-shell.c
> index 0605f84..fbc0604 100644
> --- a/clients/desktop-shell.c
> +++ b/clients/desktop-shell.c
> @@ -302,7 +302,8 @@ clock_func(struct task *task, uint32_t events)
>  		container_of(task, struct panel_clock, clock_task);
>  	uint64_t exp;
>  
> -	read(clock->clock_fd, &exp, sizeof exp);
> +	if (read(clock->clock_fd, &exp, sizeof exp) != sizeof exp)
> +		abort();
>  	widget_schedule_redraw(clock->widget);
>  }
>  
> diff --git a/clients/window.c b/clients/window.c
> index f81d06f..92f3fd5 100644
> --- a/clients/window.c
> +++ b/clients/window.c
> @@ -1170,7 +1170,8 @@ tooltip_func(struct task *task, uint32_t events)
>  		container_of(task, struct tooltip, tooltip_task);
>  	uint64_t exp;
>  
> -	read(tooltip->tooltip_fd, &exp, sizeof (uint64_t));
> +	if (read(tooltip->tooltip_fd, &exp, sizeof (uint64_t)) != sizeof (uint64_t))
> +		abort();
>  	window_create_tooltip(tooltip);
>  }

Hi,

I think this needs more work, abort() is too harsh here.
Failing the read is not fatal, at most it deserves a
warning message printed.

The fd is being read, so that the fd would become non-readable
again. If and when the fd is readable, the event loop calls these
clock_func() or tooltip_func(). We want to read out the datum
that triggered this, and only this, callback. Timerfd defines that
the datum is a single uint64_t.


Thanks,
pq


More information about the wayland-devel mailing list