tiny mq_open optimization
authorUlrich Drepper <drepper@redhat.com>
Sat, 3 May 2008 19:28:45 +0000 (15:28 -0400)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 3 May 2008 20:50:33 +0000 (13:50 -0700)
A very small cleanup for mq_open.

We do not have to call set_close_on_exit if we create the file
descriptor right away with the flag set.  We have a function for this
now.  The resulting code is smaller and a tiny bit faster.

Signed-off-by: Ulrich Drepper <drepper@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
ipc/mqueue.c

index 94fd3b0..b3b69fd 100644 (file)
@@ -673,7 +673,7 @@ asmlinkage long sys_mq_open(const char __user *u_name, int oflag, mode_t mode,
        if (IS_ERR(name = getname(u_name)))
                return PTR_ERR(name);
 
        if (IS_ERR(name = getname(u_name)))
                return PTR_ERR(name);
 
-       fd = get_unused_fd();
+       fd = get_unused_fd_flags(O_CLOEXEC);
        if (fd < 0)
                goto out_putname;
 
        if (fd < 0)
                goto out_putname;
 
@@ -709,7 +709,6 @@ asmlinkage long sys_mq_open(const char __user *u_name, int oflag, mode_t mode,
                goto out_putfd;
        }
 
                goto out_putfd;
        }
 
-       set_close_on_exec(fd, 1);
        fd_install(fd, filp);
        goto out_upsem;
 
        fd_install(fd, filp);
        goto out_upsem;