From 3cb6dba572bd2d33b177c687a1752c60ab5f0d30 Mon Sep 17 00:00:00 2001 From: Christian Prochaska Date: Fri, 30 Aug 2013 15:17:07 +0200 Subject: [PATCH] lwip: fix thread reset value in 'sys_arch_unprotect()' Fixes #866. --- libports/src/lib/lwip/platform/sys_arch.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libports/src/lib/lwip/platform/sys_arch.cc b/libports/src/lib/lwip/platform/sys_arch.cc index 7b0313407..151ed9d45 100644 --- a/libports/src/lib/lwip/platform/sys_arch.cc +++ b/libports/src/lib/lwip/platform/sys_arch.cc @@ -340,7 +340,7 @@ extern "C" { */ sys_prot_t sys_arch_protect(void) { - if(global_mutex()->thread == Genode::Thread_base::myself()) + if (global_mutex()->thread == Genode::Thread_base::myself()) return ++global_mutex()->counter; global_mutex()->lock.lock(); global_mutex()->thread = Genode::Thread_base::myself(); @@ -353,13 +353,13 @@ extern "C" { */ void sys_arch_unprotect(sys_prot_t pval) { - if(global_mutex()->thread != Genode::Thread_base::myself()) + if (global_mutex()->thread != Genode::Thread_base::myself()) return; - if(global_mutex()->counter > 1) + if (global_mutex()->counter > 1) global_mutex()->counter--; else { global_mutex()->counter = 0; - global_mutex()->thread = 0; + global_mutex()->thread = (Genode::Thread_base*)-1; global_mutex()->lock.unlock(); } }