* Andrew Bell <andrew.bell.ia@gmail.com> [2018-02-14 15:11:34 -0500]:
> On Wed, Feb 14, 2018 at 3:07 PM, Markus Wichmann <nullplan@gmx.net> wrote:
>
> > On Wed, Feb 14, 2018 at 02:48:14PM -0500, Andrew Bell wrote:
> > > Why not early return if size == 0 and avoid the call to __fwritex
> > > altogether?
> > >
> >
> > Because it's a rare corner case? Here, there's also locking correctness
> > to consider: fwrite() has to block until f is unlocked, irrespective of
> > parameters. So there's no real benefit to doing an early return.
> >
>
> But it's already being checked to set nmemb to 0. Couldn't you just return
> 0 and avoid the lock as well?
the lock must not be avoided.
otherwise fwrite would make progress on a FILE locked by
another thread which is non-conforming.