diff --git a/lib/libc/stdio/fileno.c b/lib/libc/stdio/fileno.c index 97f25e37a333..d7bf93deeaa9 100644 --- a/lib/libc/stdio/fileno.c +++ b/lib/libc/stdio/fileno.c @@ -40,7 +40,10 @@ static char sccsid[] = "@(#)fileno.c 8.1 (Berkeley) 6/4/93"; #include __FBSDID("$FreeBSD$"); +#include "namespace.h" #include +#include "un-namespace.h" +#include "libc_private.h" /* * fileno has traditionally been a macro in . That is @@ -51,6 +54,11 @@ __FBSDID("$FreeBSD$"); int fileno(FILE *fp) { - /* ??? - Should probably use atomic_read. */ - return (__sfileno(fp)); + int fd; + + FLOCKFILE(fp); + fd = __sfileno(fp); + FUNLOCKFILE(fp); + + return (fd); }