Allow XMA decoder to be suspended.

This commit is contained in:
Ben Vanik 2015-12-30 10:49:01 -08:00
parent c296d581cf
commit 0482ffad5a
3 changed files with 3 additions and 2 deletions

View File

@ -123,6 +123,7 @@ X_STATUS XmaDecoder::Setup(kernel::KernelState* kernel_state) {
return 0; return 0;
})); }));
worker_thread_->set_name("XMA Decoder Worker"); worker_thread_->set_name("XMA Decoder Worker");
worker_thread_->set_can_debugger_suspend(true);
worker_thread_->Create(); worker_thread_->Create();
return X_STATUS_SUCCESS; return X_STATUS_SUCCESS;

View File

@ -994,8 +994,8 @@ void DebugWindow::DrawThreadsPane() {
auto thread_info = cache_.thread_execution_infos[i]; auto thread_info = cache_.thread_execution_infos[i];
auto thread = thread_info->thread; auto thread = thread_info->thread;
bool is_current_thread = thread == state_.thread; bool is_current_thread = thread == state_.thread;
assert_not_null(thread); // TODO(benvanik): zombie thread states.
if (!thread) { if (!thread) {
// TODO(benvanik): better display of zombie thread states.
continue; continue;
} }
if (is_current_thread && state_.has_changed_thread) { if (is_current_thread && state_.has_changed_thread) {

View File

@ -201,7 +201,7 @@ dword_result_t NtReadFile(dword_t file_handle, dword_t event_handle,
apc_context); apc_context);
if (io_status_block) { if (io_status_block) {
io_status_block->status = result; io_status_block->status = result;
io_status_block->information = (uint32_t)bytes_read; io_status_block->information = static_cast<uint32_t>(bytes_read);
} }
// Queue the APC callback. It must be delivered via the APC mechanism even // Queue the APC callback. It must be delivered via the APC mechanism even