Device IRQs WIP
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user