On Thu, Mar 4, 2010 at 09:51, Timothy Brownawell <tbrow...@prjek.net> wrote:
> Timothy Brownawell wrote:
>>
>> Hm, maybe calling TerminateProcess() would be the better choice. The
>> warning is "The state of global data maintained by dynamic-link libraries
>> (DLLs) may be compromised if TerminateProcess is used rather than
>> ExitProcess.", and since none of our shared libraries are for IPC I'd guess
>> they don't use shared memory so we don't have to actually care. This would I
>> think also be consistent with not calling exit() from our unix SIGINT
>> handler, but just re-raising it after printing a nice message.
>
> This is committed now, so it should be in the next release.

I was pleased to see a fix for this go into 0.47 and I got around to
upgrading my Windows box to that version this morning.

Initially, it looked like this was working nicely and the annoying
crash message no longer appeared when Ctrl+C was issued.

However, it looks like the fix for this has an (at least in my view)
undesirable side effect.
I frequently run something like "mtn commit file1 file2 && mtn push",
and the the first command tends to be what I cancel (e.g. if I realize
while writing the commit message that I need to add additional files,
etc).
Previously, when the first command was canceled, the exit value was
non-zero and the second command didn't run.  Now, the first command is
indicating successful completion despite the "operation canceled: user
interrupt" message, and the second command runs.

I can't think of a use case where this wold be the desired behavior
(perhaps I'm missing something).

Sorry for bringing this back up.

Thanks,
-Daniel


_______________________________________________
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel

Reply via email to