mailing list of musl libc
 help / color / mirror / 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

mailing list of musl libc

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.vuxu.org/musl

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 musl musl/ http://inbox.vuxu.org/musl \
		musl@inbox.vuxu.org
	public-inbox-index musl

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.vuxu.org/vuxu.archive.musl


code repositories for the project(s) associated with this inbox:

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

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git