www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2026/03/23/04:03:33

DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 62N83WfU3352694
Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com
Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com
DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 62N83WfU3352694
Authentication-Results: delorie.com;
dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=T+kIgH1n
X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A6FB84BB3BB3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1774253011;
bh=cSRAMS52RYXL0w+W5M+pjbJqwSuhggz+eQ7nAR5dBb4=;
h=Subject:To:References:Date:In-Reply-To:List-Id:List-Unsubscribe:
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
From;
b=T+kIgH1nKqcerP4jpTLkHkXlzFrGUky45BKrylAF7JtbCbhMB2qErMCej+NA/Tkwl
Or+z6qin+RWTE23cNvkNgJGCEdo1b3rW42tCqm1T5bQGfv2ax+OD5twQtxHaB/ol2j
B4EX6GL9zIRD4+LAGRhiRQdY/ObxqoK+oSU36RmA=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D62154B9DB68
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org D62154B9DB68
ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1774252962; cv=none;
b=UyQeYS+ciPQKkiGUf6N2t4TvoB9IZx8lAZdfhkimkGoFMW+wWfbK8qESikGnjGy1c2swNLMJjujBprFJQhph0v6U4YAtOS+tSE/RlG1QU+InjXakkGK5Fntr4L9mUQW/C94hbGflfBA5058NxT4V322CnGRRN4W+eRJvOqfW3MM=
ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key;
t=1774252962; c=relaxed/simple;
bh=jznN7QojIolRPcoJ9J/US1GvvzWPRpbvvkHDZ+3WCyQ=;
h=DKIM-Signature:Subject:To:From:Message-ID:Date:MIME-Version;
b=YK7xbD3rrSKMHeaF0nby26xskRdyRaDHLH9U8EXvUdwSbZR5m5sGONTzAJtI3HTWCu4vLM/M0ONY/J6vWtRMLHikWt8Fqb0CPDfVn+Ni+WtUU52GEs9MEtBTQ7c/5jvwsHCZ156oR7hvC7a3v+oAjCSM1iDOY35B28WY1ecOnGs=
ARC-Authentication-Results: i=1; server2.sourceware.org
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D62154B9DB68
Subject: Re: epoll implementation for Cygwin
To: cygwin AT cygwin DOT com
References: <8d05ff34-1f75-42c1-b72a-621163a68cbf AT hamishmb DOT com>
<CAA3frXTwAzO+Qdd3Fd=Vdj+1ZbXrMdTSHEDwsWoa_1ms1WmwUg AT mail DOT gmail DOT com>
Organization: WiseMo A/S
Message-ID: <dfa98004-1248-d727-d4e7-2b8d53d4d193@wisemo.com>
Date: Mon, 23 Mar 2026 09:02:36 +0100
X-Mailer: Epyrus/2.1.3
MIME-Version: 1.0
In-Reply-To: <CAA3frXTwAzO+Qdd3Fd=Vdj+1ZbXrMdTSHEDwsWoa_1ms1WmwUg@mail.gmail.com>
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.30
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: Jakob Bohm via Cygwin <cygwin AT cygwin DOT com>
Reply-To: Jakob Bohm <jb-cygwin AT wisemo DOT com>
Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com>
X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 62N83WfU3352694

On 21/03/2026 01:51, Daisuke Fujimura via Cygwin wrote:
> Hi Hamish and all,
>
> As the author of cygepoll, I’d like to provide some context regarding
> its implementation.
>
> Currently, cygepoll is an experimental wrapper around upoll
> (https://github.com/richardhundt/upoll). In the Cygwin environment, it
> simply maps the epoll interface onto poll or select.
>
> Because it relies on these underlying mechanisms, it doesn't offer the
> performance benefits typically associated with epoll on Linux. It
> essentially carries the same overhead as poll or select.
>
> If the goal is to provide a truly performant epoll implementation for
> Cygwin, I believe it should be implemented natively within
> cygwin1.dll—perhaps by leveraging Windows-specific APIs.
Indeed, Windows sockets (WinSock2) has a more powerful implementation of
select() than traditional POSIX systems like Linux.  In particular,
WinSock native select uses true sets for the handle lists and isn't
limited to the low valued handles like on Linux, though cygwin may be
emulating the Linux-style FD_SET implementation.  There is also the
WSAEventSelect() native function which maps the wait for a single
(socket,condition) to a wait for a single Win32 Event (an NT kernel
KEVENT, which is a tiny object), and the core Win32 API has the
WaitForMultipleObject() family of functions which can wait for up to 64
such Win32 events or a timeout in parallel, allowing easy handling of
63 events per thread in a thread pool (Using the 64th slot for
signalling changes to the list of events).

> Providing cygepoll as a standalone package might offer API
> compatibility, but it wouldn't meet the performance expectations users
> have for epoll. Therefore, I think discussing a native implementation
> within the Cygwin core is a more meaningful path than packaging my
> current experimental library.
>
> Best regards,
>
> Daisuke Fujimura
>
> On Sat, Mar 21, 2026 at 6:03 AM Hamish McIntyre-Bhatty via Cygwin
> <cygwin AT cygwin DOT com> wrote:
>> Hi all,
>>
>> I recently stumbled across this epoll implementation for Cygwin:
>> https://github.com/fd00/cygepoll
>>
>> I'm not sure how to test it, or even if it would still work, as it is
>> very old, but I know that wxWidgets at least could benefit from
>> something like this. Is there any chance we could integrate it into
>> Cygwin as a package?

Enjoy

Jakob
-- 
Jakob Bohm, CIO, Partner, WiseMo A/S.  https://www.wisemo.com
Transformervej 29, 2860 Søborg, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded


-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019