MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / cancel

Method cancel

src/yvalve/why.cpp:3994–4014  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3992}
3993
3994void YEvents::cancel(CheckStatusWrapper* status)
3995{
3996 const bool allowCancel = destroyed.compareExchange(0, 1);
3997 if (!allowCancel)
3998 return;
3999
4000 try
4001 {
4002 YEntry<YEvents> entry(status, this, CHECK_WARN_ZERO_HANDLE);
4003
4004 done(status, entry, this, [&]{
4005 entry.next()->cancel(status);
4006 if (status->getErrors()[1] == isc_att_shutdown)
4007 status->init();
4008 }, [&]{entry.next()->deprecatedCancel(status);});
4009 }
4010 catch (const Exception& e)
4011 {
4012 e.stuffException(status);
4013 }
4014}
4015
4016void YEvents::deprecatedCancel(CheckStatusWrapper* status)
4017{

Callers 3

eventCallbackFunctionMethod · 0.45

Calls 7

compareExchangeMethod · 0.80
doneFunction · 0.70
nextMethod · 0.45
getErrorsMethod · 0.45
initMethod · 0.45
deprecatedCancelMethod · 0.45
stuffExceptionMethod · 0.45

Tested by

no test coverage detected