1
0
mirror of https://github.com/tw93/Mole.git synced 2026-02-04 14:26:46 +00:00

Improve spinner subprocess and trap cleanup handling

This commit is contained in:
Tw93
2025-12-28 19:35:29 +08:00
parent 61069aff86
commit 52d50a0a80
5 changed files with 12 additions and 9 deletions

View File

@@ -10,8 +10,6 @@ export LANG=C
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/../lib/core/common.sh"
# Set up cleanup trap for temporary files
trap cleanup_temp_files EXIT INT TERM
source "$SCRIPT_DIR/../lib/core/sudo.sh"
source "$SCRIPT_DIR/../lib/clean/brew.sh"
source "$SCRIPT_DIR/../lib/clean/caches.sh"
@@ -137,6 +135,9 @@ cleanup() {
printf "\r\033[K" >&2
fi
# Clean up temporary files
cleanup_temp_files
# Stop sudo session
stop_sudo_session

View File

@@ -240,7 +240,8 @@ scan_applications() {
local spinner_pid=""
(
trap 'exit 0' TERM INT EXIT
cleanup_spinner() { exit 0; }
trap cleanup_spinner TERM INT EXIT
local spinner_chars="|/-\\"
local i=0
while true; do

View File

@@ -259,7 +259,8 @@ scan_applications() {
# Start a background spinner that reads progress from file
local spinner_pid=""
(
trap 'exit 0' TERM INT EXIT
cleanup_spinner() { exit 0; }
trap cleanup_spinner TERM INT EXIT
local spinner_chars="|/-\\"
local i=0
while true; do

View File

@@ -241,12 +241,9 @@ clean_remote_desktop() {
# Main function to clean all user GUI applications
clean_user_gui_applications() {
start_section_spinner "Scanning app caches..."
clean_xcode_tools
stop_section_spinner
clean_xcode_tools
clean_code_editors
clean_communication_apps
clean_dingtalk

View File

@@ -255,7 +255,10 @@ start_inline_spinner() {
if [[ -t 1 ]]; then
(
trap 'exit 0' TERM INT EXIT
# Clean exit handler for spinner subprocess
cleanup_spinner() { exit 0; }
trap cleanup_spinner TERM INT EXIT
local chars
chars="$(mo_spinner_chars)"
[[ -z "$chars" ]] && chars="|/-\\"