>    1 min after release of last reference

I suppose "last reference" means after all (1 in my case) connections to
the database are closed the 1 minute starts counting. Then the `release`
method of IExternalEngineImpl will be called, right?

Probably I'm doing it wrong, but for me the `release` happens just once
although the `addRef` happened twice. I have very simple implementation,
mostly following the example from Using_OO_API.html.

The `IPluginFactoryImpl::createPlugin` method is dead simple:
                auto p = new Plugin();
                p->addRef();
                return p;

And the Plugin (IExternalEngineImpl) itself too:
        void Plugin::addRef()
        {
                ++_refCounter;
        }

        int Plugin::release()
        {
                if (--_refCounter == 0)
                {
                        delete this;
                        return 0;
                }
                return 1;
        }

`getOwner` and `setOwner` are storing and returning whatever was passed.
No logic there.

Something obviously wrong here?

-- 
Mgr. Jiří Činčura
Independent IT Specialist

------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to