Module: wine Branch: master Commit: eb6621081a6d0f094d58c30e6850f3e01c88402e URL: http://source.winehq.org/git/wine.git/?a=commit;h=eb6621081a6d0f094d58c30e68...
Author: Alexandre Julliard julliard@winehq.org Date: Tue Feb 9 20:21:23 2016 +0900
server: Avoid redundant open call when looking for an object type.
Signed-off-by: Alexandre Julliard julliard@winehq.org
---
server/directory.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/server/directory.c b/server/directory.c index 312a845..67d8089 100644 --- a/server/directory.c +++ b/server/directory.c @@ -269,13 +269,13 @@ struct object_type *get_object_type( const struct unicode_str *name ) { struct object_type *type;
- if ((type = open_object_dir( dir_objtype, name, 0, &object_type_ops ))) - return type; - - if ((type = create_named_object_dir( dir_objtype, name, 0, &object_type_ops ))) + if ((type = create_named_object_dir( dir_objtype, name, OBJ_OPENIF, &object_type_ops ))) { - grab_object( type ); - make_object_static( &type->obj ); + if (get_error() != STATUS_OBJECT_NAME_EXISTS) + { + grab_object( type ); + make_object_static( &type->obj ); + } clear_error(); } return type;