diff --git a/libports/include/libc-plugin/fd_alloc.h b/libports/include/libc-plugin/fd_alloc.h
index 19d8d6beb2..4d8832ed81 100644
--- a/libports/include/libc-plugin/fd_alloc.h
+++ b/libports/include/libc-plugin/fd_alloc.h
@@ -16,6 +16,7 @@
#define _LIBC_PLUGIN__FD_ALLOC_H_
#include
+#include
#include
#include
@@ -42,6 +43,7 @@ namespace Libc {
char *fd_path; /* for 'fchdir()' */
Plugin *plugin;
Plugin_context *context;
+ Genode::Lock lock;
void path(char const *newpath)
{
diff --git a/libports/src/lib/libc/fd_alloc.cc b/libports/src/lib/libc/fd_alloc.cc
index e2b8c4eb24..f82033e44c 100644
--- a/libports/src/lib/libc/fd_alloc.cc
+++ b/libports/src/lib/libc/fd_alloc.cc
@@ -49,7 +49,7 @@ File_descriptor *File_descriptor_allocator::alloc(Plugin *plugin,
/* allocate fresh fd if the default value for 'libc_fd' was specified */
bool alloc_ok = false;
- if (addr == ANY_FD)
+ if (addr == ANY_FD)
alloc_ok = Allocator_avl_base::alloc(1, reinterpret_cast(&addr));
else
alloc_ok = (Allocator_avl_base::alloc_addr(1, addr).is_ok());
@@ -65,6 +65,7 @@ File_descriptor *File_descriptor_allocator::alloc(Plugin *plugin,
fdo->fd_path = 0;
fdo->plugin = plugin;
fdo->context = context;
+ fdo->lock = Lock(Lock::UNLOCKED);
return fdo;
}