zsh-workers
 help / color / mirror / code / Atom feed
* Zle goes through select() quickly growin # of times
@ 2018-06-17 20:23 Sebastian Gniazdowski
  2018-06-17 20:25 ` Sebastian Gniazdowski
  2018-06-17 20:39 ` Sebastian Gniazdowski
  0 siblings, 2 replies; 3+ messages in thread
From: Sebastian Gniazdowski @ 2018-06-17 20:23 UTC (permalink / raw)
  To: Zsh hackers list

[-- Attachment #1: Type: text/plain, Size: 1274 bytes --]

Hello,
I'm debugging the reason why Ctrl-C can be ignored. U stumbled upon this:

1. I open shell, enter "ls ", then press Ctrl-C
2. Debug logs from before "< master Zle select()" and after "> master
Zle select()" occur
3. At first Ctrl-C, there are 24 select() recurrent code execution
paths – the logs around select() are triggered ~24 times.
4. At second "ls <Ctrl-C>", there are 96 recurrent code paths.
5. At third "ls <Ctrl-C>, there are 197 recurrent code paths.

The logs are:

BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0,
exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0,
exit_pending: 0

two lines, installed before master select() (first line) and after the
master select (second line).

Could it be that Zsh reacts in this way after occurring Ctrl-C? It's
somewhat hard to believe. That's why I include also patch with debug
prints that I've used. Maybe someone will just apply it and do "ls
<Ctrl-C>".

Also: asciinema recording, showing how the series of logs grow (1 tmux
screen / page, then 4 tmux screens / pages, then 9 pages to scroll up
to see the logs beginnings'):

https://asciinema.org/a/hC24KqphbztwQfk5ApZbOYU2y

-- 
Best regards,
Sebastian Gniazdowski

[-- Attachment #2: count.txt --]
[-- Type: text/plain, Size: 26238 bytes --]

Effect of first "ls <break>"
24 debug-log-lines that are mainly placed before & after the main select().
(the lines "BASIC < select ...", "BASIC > select ..." denote "before" and "after" the select)
It's "ls <Ctrl-C>" that yielded this:

== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: -1, errflag: 2, retflag: 0, breaks: 0, exit_pending: 0


Effect of second "ls <break>"
96 debug-log-lines that are mainly placed before & after the main select().
It's "ls <Ctrl-C>" that yielded this:

== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: -1, errflag: 2, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: -1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: -1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: -1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: -1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: -1, errflag: 2, retflag: 0, breaks: 0, exit_pending: 0

Effect of third "ls <break>"
197 debug-log-lines that are mainly placed before & after the main select()
It's third "ls <Ctrl-C>" that yielded this:

== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: -1, errflag: 2, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: -1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: -1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: -1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: -1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: -1, errflag: 2, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: -1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: -1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: -1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: -1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 1, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
== FOR (;;)! kungetct: 0, kungetsz: 32
 == ... continuing:: BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC < select Before: selret: 0, errflag: 0, retflag: 0, breaks: 0, exit_pending: 0
BASIC > select After: selret: -1, errflag: 2, retflag: 0, breaks: 0, exit_pending: 0

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

end of thread, other threads:[~2018-06-17 20:39 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-17 20:23 Zle goes through select() quickly growin # of times Sebastian Gniazdowski
2018-06-17 20:25 ` Sebastian Gniazdowski
2018-06-17 20:39 ` Sebastian Gniazdowski

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

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

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).