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

Method service_end

src/remote/server/server.cpp:6470–6501  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6468
6469
6470ISC_STATUS rem_port::service_end(P_RLSE* /*release*/, PACKET* sendL)
6471{
6472/**************************************
6473 *
6474 * s e r v i c e _ e n d
6475 *
6476 **************************************
6477 *
6478 * Functional description
6479 * Close down a service.
6480 *
6481 **************************************/
6482 LocalStatus ls;
6483 CheckStatusWrapper status_vector(&ls);
6484
6485 Rdb* rdb = this->port_context;
6486 if (bad_service(&status_vector, rdb))
6487 return this->send_response(sendL, 0, 0, &status_vector, false);
6488
6489 { // scope
6490 RefMutexGuard portGuard(*port_cancel_sync, FB_FUNCTION);
6491 rdb->rdb_svc->svc_iface->detach(&status_vector);
6492
6493 if (!(status_vector.getState() & IStatus::STATE_ERRORS))
6494 {
6495 port_flags |= PORT_detached;
6496 rdb->rdb_svc->svc_iface = NULL;
6497 }
6498 }
6499
6500 return this->send_response(sendL, 0, 0, &status_vector, false);
6501}
6502
6503
6504void rem_port::service_start(P_INFO * stuff, PACKET* sendL)

Callers 1

process_packetFunction · 0.80

Calls 4

send_responseMethod · 0.95
bad_serviceFunction · 0.85
detachMethod · 0.45
getStateMethod · 0.45

Tested by

no test coverage detected