Re: epoll_wait returning EFAULT on Linux 3.2.78

From: Andres Freund <andres(at)anarazel(dot)de>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Greg Stark <stark(at)mit(dot)edu>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: epoll_wait returning EFAULT on Linux 3.2.78
Date: 2016-06-02 17:26:24
Message-ID: 20160602172624.iyqwxkfabxn6dhq4@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2016-06-02 13:24:38 -0400, Tom Lane wrote:
> Andres Freund <andres(at)anarazel(dot)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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2016-06-02 17:35:15 Re: epoll_wait returning EFAULT on Linux 3.2.78
Previous Message Tom Lane 2016-06-02 17:24:38 Re: epoll_wait returning EFAULT on Linux 3.2.78