Added support for multiple object namespaces, and a bunch functions
for managing linked lists.

diff --git a/server/semaphore.c b/server/semaphore.c
index bd1579a..4e7e6b6 100644
--- a/server/semaphore.c
+++ b/server/semaphore.c
@@ -70,7 +70,7 @@
         set_error( STATUS_INVALID_PARAMETER );
         return NULL;
     }
-    if ((sem = create_named_object( &semaphore_ops, name, len )))
+    if ((sem = create_named_object( sync_namespace, &semaphore_ops, name, len )))
     {
         if (get_error() != STATUS_OBJECT_NAME_COLLISION)
         {
@@ -153,7 +153,7 @@
 /* open a handle to a semaphore */
 DECL_HANDLER(open_semaphore)
 {
-    reply->handle = open_object( get_req_data(), get_req_data_size(),
+    reply->handle = open_object( sync_namespace, get_req_data(), get_req_data_size(),
                                  &semaphore_ops, req->access, req->inherit );
 }