Subject Problems with shut down he database engine on SuperServer
Author dominik.grudzinski
Hello.

I have problems with shutdown the database on SuperServer.
Server freeze during SuperServer shutdown and
I have messages in log:
WAITING FOR SHUTDOWN!
WAITING FOR SHUTDOWN!
.....
On ClassicServer everything work correctly.

Any suggestions?

I work on Firebird 2.0


That's my code:

void FBConnImpl::shutdownDB(const string& fdbname) {

char spb[300], *p = spb;
unsigned long options;
*p++ = isc_action_svc_properties;
*p++ = isc_spb_dbname;
ADD_SPB_LENGTH(p,fdbname.length());
strcpy(p,fdbname.c_str());
p+=fdbname.length();

*p++=isc_spb_prp_shutdown_db;
options=0; //timeout
ADD_SPB_NUMERIC(p, options);

ISC_STATUS status[20];
try
{
isc_service_start(status, &_svcHandle, NULL,
static_cast<unsigned short>(p - spb),spb);
if ( !_isStatusOk(status) ) _handleError(status);
}
catch( DbException& )
{
if (_svcHandle)
isc_service_detach(status, &_svcHandle);
throw;
}
}


Regards

Dominik Grudzinski