Re: epoll_wait returning EFAULT on Linux 3.2.78
От | Andres Freund |
---|---|
Тема | Re: epoll_wait returning EFAULT on Linux 3.2.78 |
Дата | |
Msg-id | 20160602170434.kn3qqcefrk7luaq3@alap3.anarazel.de обсуждение исходный текст |
Ответ на | Re: epoll_wait returning EFAULT on Linux 3.2.78 (Greg Stark <stark@mit.edu>) |
Ответы |
Re: epoll_wait returning EFAULT on Linux 3.2.78
Re: epoll_wait returning EFAULT on Linux 3.2.78 |
Список | pgsql-hackers |
Hi, On 2016-06-02 17:50:20 +0100, Greg Stark wrote: > So FYI, it does look like Postgres built in 32-bit mode, at least > pointers are 32 bits. But I think maxalign might still be enough due > to doubles being 64 bits. 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; struct epoll_event { uint32_t events; /* Epoll events */ epoll_data_t data; /* User data variable */ }; So using long long alignment seems the best bet here. Greg, are you writing & testing a patch? Or should I write something for you to test? Regards, Andres
В списке pgsql-hackers по дате отправления: