Update interrupt2.test to avoid using Tcl_GetCommandInfo() from within calls to Tcl_DeleteCommand().
FossilOrigin-Name: 1979aa0902a43f20d4e396c5f9b9a49aaf0094d8520bf53ce058bb379a7720ab
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
C Help-text\sand\scomment\sfixes\sin\sthe\sCLI.\s\sAdd\sthe\soutput-redir-test.txt\ntesting\sscript.
|
||||
D 2026-04-17T11:41:33.625
|
||||
C Update\sinterrupt2.test\sto\savoid\susing\sTcl_GetCommandInfo()\sfrom\swithin\scalls\sto\sTcl_DeleteCommand().
|
||||
D 2026-04-17T15:09:50.911
|
||||
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
|
||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||
@@ -1319,7 +1319,7 @@ F test/instrfault.test 95e28efade652e6d51ae11b377088fe523a581a07ec428009e152a4dd
|
||||
F test/intarray.test bb976b0b3df0ebb6a2eddfb61768280440e672beba5460ed49679ea984ccf440
|
||||
F test/intck01.sql f2d88bf41cdd64f2ed8c3d4f357cf520f017aa2986999ab9a62eb6506ef18106
|
||||
F test/interrupt.test ac1ef50ec9ab8e4f0e17c47629f82539d4b22558904e321ed5abea2e6187da7a
|
||||
F test/interrupt2.test e4408ca770a6feafbadb0801e54a0dcd1a8d108d
|
||||
F test/interrupt2.test 7eaa40a975d950826cd56e6c37f0f0629adfa2d1a8d3333aff0ff7cf86069963
|
||||
F test/intpkey.test 7d54711acf553cdd641a40e9c6cfc2bf1a76070074940c1b126442517054320f
|
||||
F test/intreal.test 68829a8bb073ee1610ca3f8f9e0f99b0371fb36e0fa64862dd5ced4ef03c2343
|
||||
F test/io.test d267fdc8915444a45e19841489033ebe70bb69f6db605b00df70be16b2a80f59
|
||||
@@ -2202,8 +2202,8 @@ F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee
|
||||
F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2
|
||||
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
|
||||
F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
|
||||
P b235a8093734f457c2731af017c99027510d04e5cd1060f5559afbec5409a472
|
||||
R d84b09a56d9bc4c33abb3c6cf40ee177
|
||||
U drh
|
||||
Z 795ba898df4e3b3f60a212f6e3214fb0
|
||||
P ec58a133b4716d4f5a53c38853f8ecdb7a1275b931663ce07c8dc700d845e62e
|
||||
R 07efa31320a2d0d563b9b4787d7f417e
|
||||
U dan
|
||||
Z 63ec5d48442bb08e4c2149b71e529a6e
|
||||
# Remove this line to create a well-formed Fossil manifest.
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
ec58a133b4716d4f5a53c38853f8ecdb7a1275b931663ce07c8dc700d845e62e
|
||||
1979aa0902a43f20d4e396c5f9b9a49aaf0094d8520bf53ce058bb379a7720ab
|
||||
|
||||
+17
-1
@@ -30,12 +30,19 @@ tvfs filter xWrite
|
||||
tvfs script write_cb
|
||||
|
||||
set ::trigger_interrupt 0
|
||||
set ::dbpointer ""
|
||||
proc write_cb {method args} {
|
||||
set filename [lindex $args 0]
|
||||
if {[file tail $filename]=="test.db" && $::trigger_interrupt} {
|
||||
if {$::trigger_interrupt} {
|
||||
incr ::trigger_interrupt -1
|
||||
if {$::trigger_interrupt==0} { sqlite3_interrupt db }
|
||||
if {$::trigger_interrupt==0} {
|
||||
if {$::dbpointer!=""} {
|
||||
sqlite3_interrupt $::dbpointer
|
||||
} else {
|
||||
sqlite3_interrupt db
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0
|
||||
@@ -110,8 +117,17 @@ db_save_and_close
|
||||
db_restore_and_reopen
|
||||
do_test 3.1.1 {
|
||||
set ::trigger_interrupt 10
|
||||
|
||||
# Set dbpointer here so that the write-callback can use the (sqlite3*)
|
||||
# pointer with sqlite3_interrupt() directly instead of looking up the
|
||||
# command. On at least some versions of Tcl9, looking up a command from
|
||||
# within Tcl_DeleteCommand apparently returns a bad pointer.
|
||||
#
|
||||
set ::dbpointer [sqlite3_connection_pointer db]
|
||||
db eval { SELECT * FROM sqlite_master }
|
||||
db close
|
||||
set ::dbpointer ""
|
||||
|
||||
set {} {}
|
||||
} {}
|
||||
do_test 3.1.2 {
|
||||
|
||||
Reference in New Issue
Block a user