summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--notes.txt33
1 files changed, 33 insertions, 0 deletions
diff --git a/notes.txt b/notes.txt
index 889181e1..820543c7 100644
--- a/notes.txt
+++ b/notes.txt
@@ -10,3 +10,36 @@
disabling implicit reset on every eval in _p9k_worker_receive.
- implement fake gitstatus api on top of vcs_info (or plain git?) + worker and use it if there is no
gitstatus.
+
+zmodload zsh/system
+
+() {
+ emulate -L zsh
+ unsetopt monitor
+ setopt monitor
+ [[ -o monitor ]] && echo monitor on
+ typeset -gi fd
+ (( fd )) && exec {fd}>&-
+ sysopen -r -o cloexec -u fd <(
+ local pid=$sysparams[pid]
+ (
+ echo $sysparams[pid] $sysparams[ppid] $pid >>/tmp/log
+ echo $pid
+ sleep 2 &
+ : <(sleep 3)
+ sleep 4
+ sleep 5
+ ) &)
+ sleep 1
+ ps axjf
+ local pid
+ IFS= read -r -u $fd pid
+ kill -- -$pid
+ ps axjf
+ exec {fd}>&-
+ fd=0
+}
+
+_p9k_worker_await <(...) callback
+
+callback gets access to REPLY and STATUS; no prev