summaryrefslogtreecommitdiff
path: root/notes.txt
diff options
context:
space:
mode:
Diffstat (limited to 'notes.txt')
-rw-r--r--notes.txt34
1 files changed, 3 insertions, 31 deletions
diff --git a/notes.txt b/notes.txt
index 820543c7..2c89f90b 100644
--- a/notes.txt
+++ b/notes.txt
@@ -10,36 +10,8 @@
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.
+- when worker_main kills itself, the gpid is wrong.
+- spawn watchdog from within <(...) right after worker_main. it should sleep on zselect (zselect should be loaded in <(...)) and try to write zero bytes to stdout. on failure, kill the group.
-zmodload zsh/system
+_p9k_worker_async cb1 cb2
-() {
- 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