From: Ben Peart Date: Mon, 17 Sep 2018 14:15:39 GMT Subject: Re: [PATCH] read-cache.c: fix a sparse warning Message-ID: <2efc8b66-3d26-f794-b5fe-6a4b013feeaf@gmail.com> In-Reply-To: On 9/16/2018 3:17 AM, Eric Sunshine wrote: > On Fri, Sep 14, 2018 at 7:29 PM Ramsay Jones > wrote: >> At one time, the POSIX standard required the type used to represent >> a thread handle (pthread_t) be an arithmetic type. This is no longer >> the case, probably because different platforms used to regularly >> ignore that requirement. For example, on cygwin a pthread_t is a >> pointer to a structure (a quite common choice), whereas on Linux it >> is defined as an 'unsigned long int'. >> >> On cygwin, but not on Linux, 'sparse' currently complains about an >> initialiser used on a 'struct load_index_extensions' variable, whose >> first field may be a pthread handle (if not compiled with NO_PTHREADS >> set). >> >> In order to fix the warning, move the (conditional) pthread field to >> the end of the struct and change the initialiser to use a NULL, since >> the new (unconditional) first field is a pointer type. >> >> Signed-off-by: Ramsay Jones >> --- >> If you need to re-roll your 'bp/read-cache-parallel' branch, could you >> please squash this into the relevant patch (commit a090af334, >> "read-cache: load cache extensions on a worker thread", 2018-09-12). > > The information contained in this commit message is so useful that it > might make sense to plop this patch at the end of the series rather > than merely squashing it in. (Or, if it is squashed, include the above > explanation in the commit message of the appropriate patch.) > I'm happy to squash it in if I end up re-rolling the patch series. I'll include the information in the commit message above as a comment so that it is in close proximity to the code impacted.