Re: epoll_wait returning EFAULT on Linux 3.2.78 - Mailing list pgsql-hackers

From Andres Freund
Subject Re: epoll_wait returning EFAULT on Linux 3.2.78
Date
Msg-id 20160602172624.iyqwxkfabxn6dhq4@alap3.anarazel.de
Whole thread Raw
In response to Re: epoll_wait returning EFAULT on Linux 3.2.78  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On 2016-06-02 13:24:38 -0400, Tom Lane wrote:
> Andres Freund <andres@anarazel.de> writes:
> > That makes sense independent of 32 vs. 64 system. Part of the relevant
> > struct probably require 8 byte alignment:
> 
> >            typedef union epoll_data {
> >                void    *ptr;
> >                int      fd;
> >                uint32_t u32;
> >                uint64_t u64;
> >            } epoll_data_t;
> 
> On a 32-bit machine it's entirely possible that that would only require
> 32-bit alignment.

Not on 32bit sparc afaics:
> checking alignment of long long int... 8
> checking alignment of double... 8

> But based on what we know so far, using our regular
> MAXALIGN macro should be good enough.

Yea.

- Andres



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: epoll_wait returning EFAULT on Linux 3.2.78
Next
From: Andres Freund
Date:
Subject: Re: epoll_wait returning EFAULT on Linux 3.2.78