| 175 | } |
| 176 | |
| 177 | error_code sys_config_stop(ppu_thread& ppu) |
| 178 | { |
| 179 | sys_io.warning("sys_config_stop()"); |
| 180 | |
| 181 | auto& cfg = g_fxo->get<libio_sys_config>(); |
| 182 | |
| 183 | auto lock = lock_lv2_mutex_alike(cfg.mtx, &ppu); |
| 184 | |
| 185 | if (cfg.init_ctr && cfg.init_ctr-- == 1) |
| 186 | { |
| 187 | ensure(CELL_OK == sys_event_queue_destroy(ppu, cfg.queue_id, SYS_EVENT_QUEUE_DESTROY_FORCE)); |
| 188 | ppu.check_state(); |
| 189 | ensure(CELL_OK == sys_ppu_thread_join(ppu, cfg.ppu_id, +vm::var<u64>{})); |
| 190 | } |
| 191 | else |
| 192 | { |
| 193 | // TODO: Unknown error |
| 194 | } |
| 195 | |
| 196 | return CELL_OK; |
| 197 | } |
| 198 | |
| 199 | error_code sys_config_add_service_listener() |
| 200 | { |
no test coverage detected