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; }