summaryrefslogtreecommitdiff
path: root/kernel/source/application.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/source/application.cpp')
-rw-r--r--kernel/source/application.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/kernel/source/application.cpp b/kernel/source/application.cpp
index 0c3fd36..8070019 100644
--- a/kernel/source/application.cpp
+++ b/kernel/source/application.cpp
@@ -239,7 +239,7 @@ namespace hilbert::kernel::application {
void thread::wait_for_socket_stream(socket_stream_end *the_socket_stream) {
waiting_for_socket_stream = the_socket_stream;
the_socket_stream->waiting_to_read.insert(this);
- yield();
+ yield(saved_state);
waiting_for_socket_stream = 0;
}
@@ -247,7 +247,7 @@ namespace hilbert::kernel::application {
socket_listener *the_socket_listener) {
waiting_to_accept_from = the_socket_listener;
the_socket_listener->waiting_to_accept.insert(this);
- yield();
+ yield(saved_state);
waiting_to_accept_from = 0;
return new_socket_stream_id;
}
@@ -256,15 +256,15 @@ namespace hilbert::kernel::application {
socket_listener *the_socket_listener) {
waiting_to_connect_to = the_socket_listener;
the_socket_listener->waiting_to_connect.insert(this);
- yield();
+ yield(saved_state);
waiting_to_connect_to = 0;
return new_socket_stream_id;
}
void thread::wait_for_input() {
- waiting_for_input = false;
+ waiting_for_input = true;
input::waiting_for_input->insert(this);
- yield();
+ yield(saved_state);
waiting_for_input = false;
}