rename lock

main
Eggert Jung 6 months ago
parent 2421136335
commit a415260776

@ -70,16 +70,16 @@ enum PAGE_FAULT_ERROR {
}
extern TextStream kout;
extern Ticketlock ticketlock;
extern Ticketlock koutlock;
void handle_keyboard() {
ticketlock.lock();
Key key = Key();
if (PS2Controller::fetch(key)) {
kout << key.ascii() << endl << flush ;
koutlock.lock();
kout << key.ascii() << flush ;
koutlock.unlock();
}
ticketlock.unlock();
LAPIC::endOfInterrupt();
}

@ -16,6 +16,7 @@
#include "sync/ticketlock.h"
TextStream kout = TextStream(0, 80, 0, 10, true);
Ticketlock koutlock;
//TextStream dout[8] = {
// TextStream(0 ,20,12,25,false),
@ -50,8 +51,6 @@ CopyStream copystream[Core::MAX]{
{&dout[7], &sout},
};
Ticketlock ticketlock;
OutputStream* copyout[Core::MAX]{
&dout[0],
&copystream[1],

@ -20,13 +20,14 @@ Und wacht sie aus'm Koma auf, kriegt sie von mir 'n Sticker\n\
\n";
extern TextStream kout;
extern Ticketlock ticketlock;
extern Ticketlock koutlock;
void activeWaitDelay(uint64_t cycles) {
uint64_t counter = 0; // Use volatile to prevent optimization
for (uint64_t i = 0; i < cycles; ++i) {
counter++; // Simple operation to consume cycles
//asm("nop");
Core::pause();
asm("nop");
//Core::pause();
}
}
@ -34,17 +35,17 @@ void Application::action() { // NOLINT
uint16_t cnt = 0;
while (1) {
Core::Interrupt::disable();
ticketlock.lock();
koutlock.lock();
while(text[cnt++] != '\n'){
kout << text[cnt-1];
}
kout << endl << flush;
koutlock.unlock();
activeWaitDelay(10000000);
activeWaitDelay(1000000000);
if(cnt >= sizeof(text)-1)
cnt=0;
ticketlock.unlock();
Core::Interrupt::enable();
}
}

Loading…
Cancel
Save