pushlock: initial implementation

This commit is contained in:
Matheus
2024-12-28 00:16:42 -03:00
parent 75a24d3026
commit c47f0e5ea7
4 changed files with 203 additions and 12 deletions
+8 -2
View File
@@ -461,8 +461,14 @@ uacpi_status uacpi_kernel_acquire_mutex(
return UACPI_STATUS_OK;
}
bool didacquire = MUTEX_ACQUIRE_TIMED(mut, timeout * 1000);
return didacquire ? UACPI_STATUS_OK : UACPI_STATUS_TIMEOUT;
for (int i = 0; i < timeout; ++i) {
if (MUTEX_TRY(mut))
return UACPI_STATUS_OK;
sched_sleep_us(1000);
}
return UACPI_STATUS_TIMEOUT;
}
void uacpi_kernel_release_mutex(uacpi_handle mut) {