From: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
---|---|
To: | Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov> |
Cc: | pgsql(at)j-davis(dot)com, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: new compiler warnings |
Date: | 2011-10-18 13:26:02 |
Message-ID: | 4E9D7E6A.5050906@dunslane.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 10/18/2011 09:03 AM, Kevin Grittner wrote:
> Jeff Davis wrote:
>
>> I'm not sure if these can/should be fixed or not, but here are the
>> compiler warnings I'm getting on gcc and clang on ubuntu 11.10 with
>> -O2.
>
>> elog.c: In function ‘write_pipe_chunks’:
>> elog.c:2479:8: warning: ignoring return value of ‘write’, declared
>> with attribute warn_unused_result [-Wunused-result]
>> elog.c:2488:7: warning: ignoring return value of ‘write’, declared
>> with attribute warn_unused_result [-Wunused-result]
>> elog.c: In function ‘write_console’:
>> elog.c:1797:7: warning: ignoring return value of ‘write’, declared
>> with attribute warn_unused_result [-Wunused-result]
>
>> common.c: In function ‘handle_sigint’:
>> common.c:247:4: warning: ignoring return value of ‘write’, declared
>> with attribute warn_unused_result [-Wunused-result]
>> common.c:250:4: warning: ignoring return value of ‘write’, declared
>> with attribute warn_unused_result [-Wunused-result]
>> common.c:251:4: warning: ignoring return value of ‘write’, declared
>> with attribute warn_unused_result [-Wunused-result]
>> In file included from mainloop.c:425:0:
>
> These we are getting only because of a stubborn insistence on coding
> to the current implementation rather than the API. It's not that
> much code to code to the API instead. I've already offered to
> provide the (trivial) patch for this if there is buy-in on the idea
> of coding to the API.
>
> The argument against is that no implementer of the API would ever
> exercise the freedom the documented API gives them to do *part* of a
> write to disk and return to the caller the number of bytes written
> and then allow a subsequent write request to continue the output. I
> think that the rise of virtual machine environments in big shops
> provides a fairly obvious reason someone might want to do that.
>
>
There are non-disk uses of write() where partial writes are legitimate
(e.g. pipes under some circumstances on Linux).
It is a pity we can't just tell the compiler to turn off the warning in
a particular case.
cheers
andrew
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2011-10-18 13:32:15 | Re: new compiler warnings |
Previous Message | Simon Riggs | 2011-10-18 13:18:26 | Re: Separating bgwriter and checkpointer |