mailing list of musl libc
 help / color / mirror / code / Atom feed
* [musl] select() does not return remaining timeout
@ 2021-03-19 11:25 Paulius Zaleckas
  2021-03-19 12:38 ` Rich Felker
  0 siblings, 1 reply; 2+ messages in thread
From: Paulius Zaleckas @ 2021-03-19 11:25 UTC (permalink / raw)
  To: musl

Linux select syscall returns remaining timeout in tv pointer, but
since musl uses local variable for syscall it does not update tv for
caller.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [musl] select() does not return remaining timeout
  2021-03-19 11:25 [musl] select() does not return remaining timeout Paulius Zaleckas
@ 2021-03-19 12:38 ` Rich Felker
  0 siblings, 0 replies; 2+ messages in thread
From: Rich Felker @ 2021-03-19 12:38 UTC (permalink / raw)
  To: Paulius Zaleckas; +Cc: musl

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-03-19 12:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-19 11:25 [musl] select() does not return remaining timeout Paulius Zaleckas
2021-03-19 12:38 ` Rich Felker

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).