Path: ...!weretis.net!feeder9.news.weretis.net!news.quux.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: "Chris M. Thomasson" Newsgroups: comp.lang.c Subject: Re: Python recompile Date: Fri, 14 Mar 2025 15:06:47 -0700 Organization: A noiseless patient Spider Lines: 40 Message-ID: References: <20250309012626.00001276@yahoo.com> <20250310135828.116@kylheku.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Fri, 14 Mar 2025 23:06:48 +0100 (CET) Injection-Info: dont-email.me; posting-host="20df43b50ab9261545a619b97260a04e"; logging-data="2278164"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18aXnZmvRz0Dwl72f/4q1Jynu6gfeH5ODc=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:Skquc+D8IrapmZIYUfDm1eLRQdI= In-Reply-To: Content-Language: en-US Bytes: 3782 On 3/14/2025 2:20 PM, Lawrence D'Oliveiro wrote: > On Fri, 14 Mar 2025 12:46:21 -0700, Chris M. Thomasson wrote: > >> On 3/13/2025 6:48 PM, Lawrence D'Oliveiro wrote: >> >>> On Thu, 13 Mar 2025 16:45:28 -0700, Chris M. Thomasson wrote: >>> >>>> I have no idea how the Python dev's use IOCP with sockets. >>> >>> They can’t figure out a way to support file I/O notifiers (of the kind >>> commonly used with event loops) with it. If you know of a way to do it, >>> please tell us. >> >> Well, usually, iirc, been a while, when GQCSEX returns we take the >> WSAOVERLAPPED and convert it to our extended structure. Basically >> similar to how Linux uses offsetof to extend node structures, or on >> Windows CONTAINING_RECORD, then we can use that to pass into a function >> called on_read, on_write, on_accept, on_connect, ect... type of >> functions. > > Does that require explicitly queuing a read or a write operation? > > According to the platform support notes > , > ProactorEventLoop does not allow the addition of reader/writer callbacks > for caller-supplied file descriptors. > > Remember what these callbacks do: they notify that the FD will accept a > read or a write, not that a pending read or write has completed. Well, I still don't know how Python is implementing things. To busy with some other work to even take a look right now. Field related, fwiw here is one of my experiments: https://youtu.be/ygmp_XvdaqQ Keep in mind that successful IOCP means the completion of an io action has occurred, or an error has been raised. It could be a new connection, a buffer was sent, data has been read. That is the C (completion) in IOCP, see?