ObCreateObject should return an existing named object if one already exist.
Modified: trunk/reactos/ntoskrnl/ob/object.c

Modified: trunk/reactos/ntoskrnl/ob/object.c
--- trunk/reactos/ntoskrnl/ob/object.c	2005-04-08 22:19:39 UTC (rev 14559)
+++ trunk/reactos/ntoskrnl/ob/object.c	2005-04-09 09:37:32 UTC (rev 14560)
@@ -712,8 +712,13 @@
       if (ParentHeader &&
 	  RemainingPath.Buffer == NULL)
         {
-          ObDereferenceObject(Parent);
-	  return STATUS_OBJECT_NAME_COLLISION;
+	  if (ParentHeader->ObjectType != Type)
+	    {
+              ObDereferenceObject(Parent);
+	      return STATUS_OBJECT_NAME_COLLISION;
+	    }
+	  *Object = Parent;
+          return STATUS_OBJECT_EXISTS;
 	}
     }
   else