Device IRQs WIP

This commit is contained in:
2026-03-12 19:23:47 +01:00
parent 04b7355a3d
commit 19793e9126
29 changed files with 420 additions and 187 deletions

View File

@@ -137,36 +137,8 @@ struct proc* proc_from_file (struct proc* proc1, const char* volume, const char*
struct desc desc;
int ret;
spin_lock (&proc1->lock);
bool is_kproc = (proc1->flags & PROC_KPROC) != 0;
spin_unlock (&proc1->lock);
if (is_kproc) {
for (;;) {
ret = vfs_volume_open (proc1, volume, rctx);
if (ret < 0)
return NULL;
spin_lock (&proc1->lock);
if (ret == ST_OK && proc1->state != PROC_SUSPENDED) {
spin_unlock (&proc1->lock);
break;
}
for (;;) {
spin_lock (&proc1->lock);
if (proc1->state != PROC_SUSPENDED) {
spin_unlock (&proc1->lock);
break;
}
spin_unlock (&proc1->lock);
}
}
}
if ((ret = vfs_volume_open (proc1, volume, rctx)) < 0)
return NULL;
if ((ret = vfs_describe (proc1, rctx, volume, path, &desc)) < 0) {
vfs_volume_close (proc1, volume, rctx);