aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--internal/worker.zsh6
1 files changed, 4 insertions, 2 deletions
diff --git a/internal/worker.zsh b/internal/worker.zsh
index 4b3f40e4..8eb21af3 100644
--- a/internal/worker.zsh
+++ b/internal/worker.zsh
@@ -89,13 +89,15 @@ function _p9k_worker_invoke() {
}
function _p9k_worker_cleanup() {
- # langinfo may not be available here.
- eval "$__p9k_intro_no_locale"
+ # __p9k_intro bugs out here in some cases for some reason.
+ emulate -L zsh
[[ $_p9k__worker_shell_pid == $sysparams[pid] ]] && _p9k_worker_stop
return 0
}
function _p9k_worker_stop() {
+ # See comments in _p9k_worker_cleanup.
+ emulate -L zsh
add-zsh-hook -D zshexit _p9k_worker_cleanup
[[ -n $_p9k__worker_resp_fd ]] && zle -F $_p9k__worker_resp_fd
[[ -n $_p9k__worker_resp_fd ]] && exec {_p9k__worker_resp_fd}>&-