]> rtime.felk.cvut.cz Git - l4.git/blobdiff - l4/pkg/moe/server/src/name_space.h
update
[l4.git] / l4 / pkg / moe / server / src / name_space.h
index 8c18d1249c64965a1399c1ec1a9c9197ff58bc31..5cf8626e61cd4430b7eefa93bf778ecf4b711cfc 100644 (file)
@@ -44,7 +44,7 @@ class Name_space : public Moe::Server_object,
 public:
 
   int dispatch(l4_umword_t obj, L4::Ipc_iostream &ios)
-  { 
+  {
     enum { Max_name = 2048 };
     static char buffer[Max_name];
 
@@ -53,7 +53,7 @@ public:
 
   Name_space();
   ~Name_space();
+
   // server support ----------------------------------------
   int get_capability(L4::Snd_fpage const &cap_fp, L4::Cap<void> *cap,
                      L4::Server_object **lo);
@@ -67,11 +67,14 @@ public:
                    bool dyn = false)
   {
     Entry *n = new Entry(name, o, dyn);
-    int err = insert(n);
-    if (err < 0)
-      delete n;
-
-    return err;
+    bool b = insert(n);
+    if (!b)
+      {
+        delete n;
+        return -L4_EEXIST;
+      }
+
+    return 0;
   }
 
   void *operator new (size_t size) throw();