[Dovecot] 1.2.6 Spurious pread()/stream errors/index corruption

Paul Freeman dovecot at lists-in.noc4.net
Fri Oct 16 01:45:14 EEST 2009


#define HAVE_PREAD 1
/* #undef PREAD_BROKEN */
#define PREAD_WRAPPERS /**/

nm dovecot|grep pread
         U my_pread@@libmysqlclient_16



//#define HAVE_PREAD 1
#define PREAD_BROKEN
//#define PREAD_WRAPPERS

nm dovecot|grep pread
         U my_pread@@libmysqlclient_16



On Thu, 15 Oct 2009 18:02:02 -0400, Timo Sirainen <tss at iki.fi> wrote:
> On Thu, 2009-10-15 at 21:08 +0100, Paul Freeman wrote:
>> in both builds file offset bits is 64, with config.h:
>> 
>> ---- config.h check...
>> /* Define to 1 if you have the `pread' function. */
>> /* Defint if pread/pwrite implementation is broken */
>> #define PREAD_BROKEN 1
>> /* Define if pread/pwrite needs _XOPEN_SOURCE 500 */
> 
> This is with Linux defaults:
> 
> ~/cvs/dovecot-1.2% grep PREAD config.h
> #define HAVE_PREAD 1
> /* #undef PREAD_BROKEN */
> #define PREAD_WRAPPERS /**/
> 
> ~/cvs/dovecot-1.2/src/master% nm dovecot|grep pread
> 080685a0 T my_pread
>          U pread64@@GLIBC_2.1
> 
> This is with pread() disabled:
> 
> ~/cvs/dovecot-1.2/% grep PREAD config.h
> //#define HAVE_PREAD 1
> #define PREAD_BROKEN
> //#define PREAD_WRAPPERS /**/
> 
> ~/cvs/dovecot-1.2/src/master% nm dovecot|grep pread
> 0806ade0 T my_pread
> 
> Note how there's no pread64@@GLIBC_2.1 symbol at all. What about in your
> binaries?


More information about the dovecot mailing list