For now, since no major modifications can be allowed to a stable branch, I've added the timeout to the registry.
You would create the registry value:
HKEY_LOCAL_MACHINE\Software\ProcessLasso
GracefulWaitMs
Type: DWORD
In Milliseconds, as the name implies. The default is 8000 (8 seconds). If it doesn't exist, this default value is used.
All future builds should adhere to this value (8.0.2.2 and beyond). They will wait x milliseconds before forcefully terminating the process.
This includes process restarts.
What was the reason for going this route?
Now available in v8.0.2.3 beta.
Quote from: chris635 on April 05, 2015, 06:37:27 PM
What was the reason for going this route?
Temporary hack to avoid major changes to the stable branch.
By the next major release, this setting will be in the UI and INI file with the others. This is just a temporary hack to appease current customers that need to adjust this value. These decisions are best left to the developer (what should be changed in minor updates). I know what is safe, easy, etc... and what is hard and potentially problematic. Adding it to the UI not only requires lots of new code, but new translations, etc...
I am rethinking this, after getting feedback from confused users. What I may do is, at the very least, throw up a dialog saying "We're trying to terminate this process..." , so the user knows what is going on while the graceful termination is attempted.
It's also likely I'll go ahead and add a timeout setting to the UI (already in the INI).
Quote from: Jeremy Collake on April 15, 2015, 01:31:11 PM
I am rethinking this, after getting feedback from confused users. What I may do is, at the very least, throw up a dialog saying "We're trying to terminate this process..." , so the user knows what is going on while the graceful termination is attempted.
It's also likely I'll go ahead and add a timeout setting to the UI (already in the INI).
Yes, that might be good idea so user knows whats going on , some app close fast and clean , others need the forced timer to do it .
Yes, with a button maybe to go ahead and force the termination.. like Windows does with stalled apps.
It'll take a bit of work, but will be a nice touch.
Kind of bad timing in the update process, but I will work it out. We have a good, stable build right now that is well translated, etc..
Seems very solid on my end .
Ed
Quote from: Jeremy Collake on April 15, 2015, 01:31:11 PM
I am rethinking this, after getting feedback from confused users. What I may do is, at the very least, throw up a dialog saying "We're trying to terminate this process..." , so the user knows what is going on while the graceful termination is attempted.
It's also likely I'll go ahead and add a timeout setting to the UI (already in the INI).
I agree with you and Ed on this.
And also the build is pretty solid right now on my end too.
Yea, I have this all planned out and am pretty eager to implement it.... it'll toss up the wait dialog, allow terminate NOW button, etc.. Probably have it done today.
The new build, v8.0.3.1 beta, refines the new graceful-first process termination function. It's still a bit rough around the edges (e.g. ugly dialog and need to reduce cases of 'flicker' when instantaneous termination occurs), but I'm cleaning that up. BUT, it should work much better.
Now released.
Quote from: Jeremy Collake on April 17, 2015, 04:52:59 AM
The new build, v8.0.3.1 beta, refines the new graceful-first process termination function. It's still a bit rough around the edges (e.g. ugly dialog and need to reduce cases of 'flicker' when instantaneous termination occurs), but I'm cleaning that up. BUT, it should work much better.
Now released.
Yes , Much improvement from last build , cleaner termination on my end .
Yup, much better, and it failed to graceful terminate ProcessLasso.exe. ;D
Anyways, before this beta build came out, I tried once, and found that Process Lasso freeze for waiting the process to terminated, until I killed that process manually by using Windows Task Manager.
So far I can't reproduce it anymore, and I guess there is no ways to workaround this issues? :)
Yes, no more freezing when terminating. I moved the process termination to another thread so it never holds up the UI.
Sound great, and I think it may be time for another bug then. :)