Call the fcntl compatiblity wrapper from the thread library fcntl wrappers

so that they get the benefit of the (limited) forward ABI compatibility.

MFC after: 1 week
This commit is contained in:
Doug Rabson 2008-05-30 14:47:42 +00:00
parent 0b99032d09
commit cd7d66a21f
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=179434
5 changed files with 10 additions and 5 deletions

View File

@ -522,6 +522,7 @@ FBSDprivate_1.0 {
__sys_fchown;
_fcntl;
__sys_fcntl;
__fcntl_compat;
_fhopen;
__sys_fhopen;
_fhstat;

View File

@ -34,10 +34,10 @@ __FBSDID("$FreeBSD$");
#include <sys/syscall.h>
#include "libc_private.h"
__weak_reference(__fcntl, fcntl);
__weak_reference(__fcntl_compat, fcntl);
int
__fcntl(int fd, int cmd, ...)
__fcntl_compat(int fd, int cmd, ...)
{
va_list args;
long arg;

View File

@ -36,6 +36,8 @@
__weak_reference(__fcntl, fcntl);
extern int __fcntl_compat(int fd, int cmd, ...);
int
_fcntl(int fd, int cmd,...)
{
@ -124,7 +126,7 @@ _fcntl(int fd, int cmd,...)
break;
default:
/* Might want to make va_arg use a union */
ret = __sys_fcntl(fd, cmd, va_arg(ap, void *));
ret = __fcntl_compat(fd, cmd, va_arg(ap, void *));
break;
}

View File

@ -37,6 +37,7 @@
#include "thr_private.h"
int __fcntl(int fd, int cmd,...);
extern int __fcntl_compat(int fd, int cmd,...);
__weak_reference(__fcntl, fcntl);
@ -68,7 +69,7 @@ __fcntl(int fd, int cmd,...)
ret = __sys_fcntl(fd, cmd);
break;
default:
ret = __sys_fcntl(fd, cmd, va_arg(ap, void *));
ret = __fcntl_compat(fd, cmd, va_arg(ap, void *));
}
va_end(ap);

View File

@ -132,6 +132,7 @@ int __aio_suspend(const struct aiocb * const iocbs[], int,
int __close(int);
int __connect(int, const struct sockaddr *, socklen_t);
int __fcntl(int, int,...);
extern int __fcntl_compat(int, int,...);
int __fsync(int);
int __msync(void *, size_t, int);
int __nanosleep(const struct timespec *, struct timespec *);
@ -252,7 +253,7 @@ __fcntl(int fd, int cmd,...)
ret = __sys_fcntl(fd, cmd);
break;
default:
ret = __sys_fcntl(fd, cmd, va_arg(ap, void *));
ret = __fcntl_compat(fd, cmd, va_arg(ap, void *));
}
va_end(ap);