Modify

Opened 5 years ago

Closed 5 years ago

#7012 closed Bugs (fixed)

do_epoll_create failes with 'epoll: Function not supported".

Reported by: Oleg Grunin <oleg00@…> Owned by: chris_kohlhoff
Milestone: To Be Determined Component: asio
Version: Boost 1.49.0 Severity: Problem
Keywords: Cc:

Description

The relevant code: #if defined(EPOLL_CLOEXEC)

int fd = epoll_create1(EPOLL_CLOEXEC);

#else defined(EPOLL_CLOEXEC)

int fd = -1; errno = EINVAL;

#endif defined(EPOLL_CLOEXEC)

if (fd == -1 && errno == EINVAL) {

fd = epoll_create(epoll_size);

....

with glibc 2.13 EPOLL_CLOEXEC is always defined but epoll_create1 may return ENOSYS which causes the code below to fall though. The proposed patch is attached

Attachments (1)

epoll.patch (386 bytes) - added by Oleg Grunin <oleg00@…> 5 years ago.
patch

Download all attachments as: .zip

Change History (3)

Changed 5 years ago by Oleg Grunin <oleg00@…>

Attachment: epoll.patch added

patch

comment:1 Changed 5 years ago by chris_kohlhoff

(In [79521]) Add support for some newer versions of glibc which provide the epoll_create1 function but always fail with ENOSYS. Refs #7012

comment:2 Changed 5 years ago by chris_kohlhoff

Resolution: fixed
Status: newclosed

(In [79549]) Merge from trunk:

  • Make strand destruction a no-op, to allow strand objects to be destroyed after their associated io_service has been destroyed.
  • Use the thread keyword extension when compiling with gcc on linux x86.
  • Avoid calling work_finished() if a completion handler creates more work.
  • Eliminate redundant call to call_stack::contains(this) when dispatching a completion handler.
  • Add support for some newer versions of glibc which provide the epoll_create1 function but always fail with ENOSYS. Fixes #7012
  • Use SSE2 load and store fences.
  • Throw exception if SSL engine initialisation fails. Fixes #6303
  • Fix another regression in buffered_write_stream. Fixes #6310

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain chris_kohlhoff.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.