From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 24892 invoked from network); 19 Mar 2021 12:38:23 -0000 Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with ESMTPUTF8; 19 Mar 2021 12:38:23 -0000 Received: (qmail 17678 invoked by uid 550); 19 Mar 2021 12:38:20 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 17657 invoked from network); 19 Mar 2021 12:38:19 -0000 Date: Fri, 19 Mar 2021 08:38:07 -0400 From: Rich Felker To: Paulius Zaleckas Cc: musl@lists.openwall.com Message-ID: <20210319123806.GB25400@brightrain.aerifal.cx> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Subject: Re: [musl] select() does not return remaining timeout On Fri, Mar 19, 2021 at 01:25:53PM +0200, Paulius Zaleckas wrote: > Linux select syscall returns remaining timeout in tv pointer, but > since musl uses local variable for syscall it does not update tv for > caller. See commit 722a1ae3351a03ab25010dbebd492eced664853b. Previously it was inconsistent and we sometimes (depending on arch) let the kernel behavior through, but the kernel behavior actually doesn't fit within the standard's allowance for select to modify the tv (which only allows it upon successful completion). So rather than trying to preserve something that was wrong with respect to the spec as written, the behavior was just dropped. In any case, it has always been an allowance for legacy behavior, not a requirement, and programs which are expecting it to reflect remaining time are not correct or portable. Rich