Handle the Ctrl-C event for the shell on Win32.

FossilOrigin-Name: c8aaf37117ed4a23bbd15dc481788735efcb77bff98be423eca3521c0a9270de
This commit is contained in:
mistachkin 2017-10-27 17:09:44 +00:00
parent 6e61c5f895
commit b4bab90b31
3 changed files with 24 additions and 9 deletions

View File

@ -1,5 +1,5 @@
C Additional\stest\scase\sdemonstrating\sthe\sability\sto\saccess\sstructure\selements\nusing\squoted\snames\sin\sthe\sJSON1\sextension.
D 2017-10-27T12:27:25.402
C Handle\sthe\sCtrl-C\sevent\sfor\sthe\sshell\son\sWin32.
D 2017-10-27T17:09:44.546
F Makefile.in e016061b23e60ac9ec27c65cb577292b6bde0307ca55abd874ab3487b3b1beb2
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
F Makefile.msc 37740aba9c4bb359c627eadccf1cfd7be4f5f847078723777ea7763969e533b1
@ -464,7 +464,7 @@ F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384
F src/resolve.c 5a461643f294ec510ca615b67256fc3861e4c8eff5f29e5940491e70553b1955
F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac
F src/select.c 0b4c1ac59221c91c9f01c326105c1749874704a77310735c0417f3c3026a4f11
F src/shell.c.in f13262c8778f0cd76bf8d9c01bbf5ef66842e6b14e1705cd60d86ab32a6ce69f
F src/shell.c.in 08cbffc31900359fea85896342a46147e9772c370d8a5079b7be26e3a1f50e8a
F src/sqlite.h.in ab4f8a29d1580dfaeb6891fa1b83cff8229ba0daa56994707ceaca71495d9ab7
F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
F src/sqlite3ext.h c02d628cca67f3889c689d82d25c3eb45e2c155db08e4c6089b5840d64687d34
@ -1666,7 +1666,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P 6caec9082b3ad6d3f89f6291084a8f5c80f296630e2e94bc764389ac1a47a833
R 8ebb970e40e0966c50eb4f87e0c6dbf4
U drh
Z eb1c1a1b07b761c18b2113b5597a4235
P 8d3cc928a8f0c7b2616c5c75af9d3a50bd4f0fe8e4ccab545ab8648cbfbb4b7f
R b04098ed5c4b7451669ce8c4fddf24e2
U mistachkin
Z 04b0a33e7f8b0430861d645ce26e5f19

View File

@ -1 +1 @@
8d3cc928a8f0c7b2616c5c75af9d3a50bd4f0fe8e4ccab545ab8648cbfbb4b7f
c8aaf37117ed4a23bbd15dc481788735efcb77bff98be423eca3521c0a9270de

View File

@ -1205,7 +1205,6 @@ static void output_csv(ShellState *p, const char *z, int bSep){
}
}
#ifdef SIGINT
/*
** This routine runs when the user presses Ctrl-C
*/
@ -1215,6 +1214,20 @@ static void interrupt_handler(int NotUsed){
if( seenInterrupt>2 ) exit(1);
if( globalDb ) sqlite3_interrupt(globalDb);
}
#if (defined(_WIN32) || defined(WIN32)) && !defined(_WIN32_WCE)
/*
** This routine runs for console events (e.g. Ctrl-C) on Win32
*/
static BOOL WINAPI ConsoleCtrlHandler(
DWORD dwCtrlType /* One of the CTRL_*_EVENT constants */
){
if( dwCtrlType==CTRL_C_EVENT ){
interrupt_handler(0);
return TRUE;
}
return FALSE;
}
#endif
#ifndef SQLITE_OMIT_AUTHORIZATION
@ -6689,6 +6702,8 @@ int SQLITE_CDECL wmain(int argc, wchar_t **wargv){
*/
#ifdef SIGINT
signal(SIGINT, interrupt_handler);
#elif (defined(_WIN32) || defined(WIN32)) && !defined(_WIN32_WCE)
SetConsoleCtrlHandler(ConsoleCtrlHandler, TRUE);
#endif
#ifdef SQLITE_SHELL_DBNAME_PROC