Asynchronous cancellation request can be ignored in the case of EXECUTE STATEMENT and WHEN used together --------------------------------------------------------------------------------------------------------
Key: CORE-4356 URL: http://tracker.firebirdsql.org/browse/CORE-4356 Project: Firebird Core Issue Type: Bug Components: Engine Affects Versions: 2.1.4, 2.5.0, 2.1.3, 2.1.2, 2.1.1, 2.1.0 Reporter: Dmitry Yemanov Artificial test case: set term ^; execute block as declare stt varchar(255) = 'execute block as begin while (1 = 1) do begin end end'; begin while(1=1) do begin execute statement stt; when any do begin end end end^ set term ;^ commit; Then either press Ctrl-C in the current ISQL session or issue "delete from mon$statements where mon$attachment_id <> current_connection" from a different ISQL session. The endless loop inside EXECUTE STATEMENT really gets interrupted but isc_cancelled error gets handled by the WHEN block and the loop continues. This is a bug, cancellation/shutdown errors should not be processed by exception handlers. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://tracker.firebirdsql.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------------ Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce. With Perforce, you get hassle-free workflows. Merge that actually works. Faster operations. Version large binaries. Built-in WAN optimization and the freedom to use Git, Perforce or both. Make the move to Perforce. http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel