From 52bd3fc17ca039543426dc4a0e53020ec8d60e79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Tue, 3 Dec 2002 14:09:43 +0000 Subject: [PATCH] Implemented forbid_page_faults() and permit_page_faults(), added a new field to the thread structure to keep track of the current state. forbids/permits can be nested. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2141 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kernel/core/vm/vm.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/kernel/core/vm/vm.c b/src/kernel/core/vm/vm.c index bb3d814c8a..2f77f57c93 100755 --- a/src/kernel/core/vm/vm.c +++ b/src/kernel/core/vm/vm.c @@ -1808,14 +1808,18 @@ int vm_init_postthread(kernel_args *ka) void permit_page_faults(void) { - // ToDo: implement me when TLS is there + struct thread *thread = thread_get_current_thread(); + if (thread != NULL) + atomic_add(&thread->page_faults_allowed, 1); } void forbid_page_faults(void) { - // ToDo: implement me when TLS is there + struct thread *thread = thread_get_current_thread(); + if (thread != NULL) + atomic_add(&thread->page_faults_allowed, -1); }