https://bugzilla.novell.com/show_bug.cgi?id=442475 User jsmeix@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=442475#c14 Johannes Meixner <jsmeix@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jsmeix@novell.com --- Comment #14 from Johannes Meixner <jsmeix@novell.com> 2009-04-01 01:26:16 MDT --- Only FYI what could help regarding comment #9: "not be easy to solve ... code ... does not run in parallel to the UI" The solution is to run code in parallel to the UI. When I have to do something in the system where I don't know if it will finish, I call a bash script from YaST. The reason is that at least for me it is easiest via a bash script to work with several processes so that a background process does the actual work while the foreground process controls the worker-process. After a timeout the foreground watchdog kills the worker. See for example in the YaST printer and scanner modules the bash scripts in /usr/lib/YaST2/bin/ which contain a "MAXIMUM_WAIT" like ---------------------------------------------------------- #! /bin/bash export PATH="/sbin:/usr/sbin:/usr/bin:/bin" export LC_ALL="POSIX" export LANG="POSIX" umask 022 MAXIMUM_WAIT="10" /run/the/worker/command & PID=$! for i in $( seq $MAXIMUM_WAIT ) do ps $PID &>/dev/null || break sleep 1 done if ps $PID &>/dev/null then kill -9 $PID &>/dev/null exit 1 fi exit 0 ---------------------------------------------------------- This way there is no longer an unlimited waiting which mitigates the "Cancel button ineffective" issue but clicking [Cancel] is still ignored (compare bug #489077) until the timeout had happened and then https://bugzilla.novell.com/show_bug.cgi?id=442173#c4 might happen. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.