diff --git a/student-distrib/pit.c b/student-distrib/pit.c index 81eb0b0719289565dcf0a7bcf7bc9c31b43e91ec..366a55827256af1f61a93564a70877094174ce86 100644 --- a/student-distrib/pit.c +++ b/student-distrib/pit.c @@ -19,7 +19,7 @@ void i8253_init(void){ void pit_handler(){ //printf("[PIT] Interrupt Test"); - scheduler(); + //scheduler(); send_eoi(0); //todo diff --git a/student-distrib/proc.c b/student-distrib/proc.c index e6589fd5bb4cfe9fbe5e0eb0813a9d62e81d391c..c232e2b4875d5ea0251605fffd07c9d697cf3893 100644 --- a/student-distrib/proc.c +++ b/student-distrib/proc.c @@ -24,17 +24,19 @@ void control_initilization(void) control.running_terminal = 0; } -//checking is fd is valid +/* Checks if FD is valid + * Returns -1 for invalid FD + * Returns 0 for valid FD */ int32_t fd_check(int32_t fd) { - if( fd >= MIN_FILE_NUM && - fd < MAX_FILE_NUM ){ return -1; } - - // file not present - if (control.terminal[control.cur_terminal].pcb->fd[fd].flags == 0) - return -1; - - else return 0; + /* First check for valid index */ + if (fd >= MIN_FILE_NUM && fd < MAX_FILE_NUM ) + { + /* Now check if file is present */ + if (control.terminal[control.cur_terminal].pcb->fd[fd].flags != 0) + return 0; + } + return -1; } //clearing fd