summaryrefslogtreecommitdiff
path: root/kernel/drivers/pit.c
diff options
context:
space:
mode:
authorAnton Kling <anton@kling.gg>2024-06-26 18:32:28 +0200
committerAnton Kling <anton@kling.gg>2024-06-26 18:36:22 +0200
commita9584c6b392c508e71f6452d7be1200a5914419d (patch)
tree8f0e856c5d84a47d7bab467766a52b067647e1aa /kernel/drivers/pit.c
parent33e1b11555d3557a36bd69d63f5bf0c290b5d462 (diff)
Networking stuff
TCP is now in a somewhat good state
Diffstat (limited to 'kernel/drivers/pit.c')
-rw-r--r--kernel/drivers/pit.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/drivers/pit.c b/kernel/drivers/pit.c
index b938de4..f8d2c42 100644
--- a/kernel/drivers/pit.c
+++ b/kernel/drivers/pit.c
@@ -43,12 +43,16 @@ void set_pit_count(u16 _hertz) {
outb(PIT_IO_CHANNEL_0, (divisor & 0xFF00) >> 8);
}
+extern int is_switching_tasks;
void int_clock(reg_t *regs) {
clock_num_ms_ticks += 5;
switch_counter++;
if (switch_counter >= hertz) {
EOI(0x20);
switch_counter = 0;
+ if(is_switching_tasks) {
+ return;
+ }
switch_task();
} else {
EOI(0x20);