On Fri Jul 17 05:25:23 2015, RSCHUPP wrote:
Show quoted text> On 2015-07-17 04:57:08, ZDM wrote:
> > Really, I don't understand, why you do not want to fix this? What are
> > you waiting for?
>
> Time to think this thru. You have not convinced me yet, see below.
> And it's my time and my disgression how I spend it.
>
> > Can you give an example, when parent process under windows should
> > exit
> > on CTRL+C without waiting for a child and do not perform standard
> > cleanup operations and makes zombie from the child process?
>
> What are you talking about, there are no zombies here.
>
> > Another thing - if I use something like this:
> > print 'Press ENTER to continue...';
> > <STDIN>;
>
> I managed to get hold of an old laptop running Windows XP and I can't
> reproduce
> this here: If I Ctrl-C the above example at the prompt, both the
> parent
> and the child get killed, so I don't see the point.
> If the script has set up a SIGINT handler, it is executed. Yeah, the
> cleanup
> in the parent isn't run in this case, but it isn't on *nix either.
- Why you speak about unix? This bug is on windows only. And patch only for windows and do not affect unix code.
Show quoted text> Also, there's no harm in leaving some temp files around.
- What is the option "--clean" for, if it does not work? Ok, this is not really serious disadvantage, except, if user will run the program frequently. In anyway, clearing garbage - is a good style.
Show quoted text> > This is a typical software bug, and I watched him since using parl
> > under windows. This bug is not critical, but makes software behavior
> > unexpected.
>
> Nope, _ignoring_ SIGINT is unexpected behaviour.
- Ignoring SIGINT in parent is unexpected? Why? This is the main question.
All significant code is executed in child process. Including signals processing. Parent should only wait, until child has been exited and perform cleanup, if needed. I do not see any other functionality in myldr/boot.c.
This is unexpected, if user press CTRL+C and parent process will be finished, but child process will keep running in background.
Any user will think, that process finished completely, but this is not true.
Or you think, that, some users are expect this?
Why you are disagree with this obvious thing? Look into your code, what proofs you are looking for?
Show quoted text> Cheers, Roderich