| 802 | } |
| 803 | |
| 804 | int |
| 805 | state_done(TSCont contp, TSEvent event ATS_UNUSED, TSVIO vio ATS_UNUSED) |
| 806 | { |
| 807 | TxnSM *txn_sm = static_cast<TxnSM *>(TSContDataGet(contp)); |
| 808 | |
| 809 | Dbg(dbg_ctl, "enter state_done"); |
| 810 | |
| 811 | if (txn_sm->q_pending_action && !TSActionDone(txn_sm->q_pending_action)) { |
| 812 | Dbg(dbg_ctl, "cancelling pending action %p", txn_sm->q_pending_action); |
| 813 | TSActionCancel(txn_sm->q_pending_action); |
| 814 | } else if (txn_sm->q_pending_action) { |
| 815 | Dbg(dbg_ctl, "action is done %p", txn_sm->q_pending_action); |
| 816 | } |
| 817 | |
| 818 | txn_sm->q_pending_action = nullptr; |
| 819 | txn_sm->q_mutex = nullptr; |
| 820 | |
| 821 | if (txn_sm->q_client_request_buffer) { |
| 822 | if (txn_sm->q_client_request_buffer_reader) { |
| 823 | TSIOBufferReaderFree(txn_sm->q_client_request_buffer_reader); |
| 824 | } |
| 825 | TSIOBufferDestroy(txn_sm->q_client_request_buffer); |
| 826 | txn_sm->q_client_request_buffer = nullptr; |
| 827 | txn_sm->q_client_request_buffer_reader = nullptr; |
| 828 | } |
| 829 | |
| 830 | if (txn_sm->q_client_response_buffer) { |
| 831 | if (txn_sm->q_client_response_buffer_reader) { |
| 832 | TSIOBufferReaderFree(txn_sm->q_client_response_buffer_reader); |
| 833 | } |
| 834 | |
| 835 | TSIOBufferDestroy(txn_sm->q_client_response_buffer); |
| 836 | txn_sm->q_client_response_buffer = nullptr; |
| 837 | txn_sm->q_client_response_buffer_reader = nullptr; |
| 838 | } |
| 839 | |
| 840 | if (txn_sm->q_cache_read_buffer) { |
| 841 | if (txn_sm->q_cache_read_buffer_reader) { |
| 842 | TSIOBufferReaderFree(txn_sm->q_cache_read_buffer_reader); |
| 843 | } |
| 844 | TSIOBufferDestroy(txn_sm->q_cache_read_buffer); |
| 845 | txn_sm->q_cache_read_buffer = nullptr; |
| 846 | txn_sm->q_cache_read_buffer_reader = nullptr; |
| 847 | } |
| 848 | |
| 849 | if (txn_sm->q_server_request_buffer) { |
| 850 | if (txn_sm->q_server_request_buffer_reader) { |
| 851 | TSIOBufferReaderFree(txn_sm->q_server_request_buffer_reader); |
| 852 | } |
| 853 | TSIOBufferDestroy(txn_sm->q_server_request_buffer); |
| 854 | txn_sm->q_server_request_buffer = nullptr; |
| 855 | txn_sm->q_server_request_buffer_reader = nullptr; |
| 856 | } |
| 857 | |
| 858 | if (txn_sm->q_server_response_buffer) { |
| 859 | TSIOBufferDestroy(txn_sm->q_server_response_buffer); |
| 860 | txn_sm->q_server_response_buffer = nullptr; |
| 861 | } |
no test coverage detected