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

Reply via email to