| 1912 | } |
| 1913 | |
| 1914 | static void runtime_worker_reset_after_join(cbm_daemon_runtime_worker_t *worker) { |
| 1915 | free(worker->application_request); |
| 1916 | worker->thread_started = false; |
| 1917 | worker->in_use = false; |
| 1918 | worker->joining = false; |
| 1919 | worker->connection = NULL; |
| 1920 | worker->client_id = CBM_DAEMON_CLIENT_ID_INVALID; |
| 1921 | worker->peer_process_id = 0; |
| 1922 | worker->admitted = false; |
| 1923 | worker->admission_committed = false; |
| 1924 | worker->final_response_inflight = false; |
| 1925 | worker->application_session = NULL; |
| 1926 | worker->application_session_opened = false; |
| 1927 | worker->application_cancelled = false; |
| 1928 | worker->application_thread_started = false; |
| 1929 | worker->application_request_token = CBM_DAEMON_RUNTIME_APPLICATION_TOKEN_INVALID; |
| 1930 | worker->last_application_request_token = CBM_DAEMON_RUNTIME_APPLICATION_TOKEN_INVALID; |
| 1931 | worker->application_request = NULL; |
| 1932 | worker->application_request_length = 0; |
| 1933 | atomic_store_explicit(&worker->done, false, memory_order_release); |
| 1934 | atomic_store_explicit(&worker->disconnecting, false, memory_order_release); |
| 1935 | atomic_store_explicit(&worker->application_thread_done, false, memory_order_release); |
| 1936 | } |
| 1937 | |
| 1938 | static void runtime_reap_completed_workers(cbm_daemon_runtime_service_t *service) { |
| 1939 | for (size_t i = 0; i < service->worker_capacity; i++) { |
no outgoing calls
no test coverage detected