| 6468 | |
| 6469 | |
| 6470 | ISC_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 | |
| 6504 | void rem_port::service_start(P_INFO * stuff, PACKET* sendL) |
no test coverage detected