svn commit: r283443 - in head/sys: amd64/linux amd64/linux32 compat/linux i386/linux
Dmitry Chagin
dchagin at FreeBSD.org
Sun May 24 16:47:15 UTC 2015
Author: dchagin
Date: Sun May 24 16:47:13 2015
New Revision: 283443
URL: https://svnweb.freebsd.org/changeset/base/283443
Log:
Put the correct value for the abi_nfdbits parameter of kern_select() for
all supported Linuxulators.
Differential Revision: https://reviews.freebsd.org/D1093
Reviewed by: trasz
Modified:
head/sys/amd64/linux/linux.h
head/sys/amd64/linux32/linux.h
head/sys/compat/linux/linux_misc.c
head/sys/compat/linux/linux_misc.h
head/sys/i386/linux/linux.h
Modified: head/sys/amd64/linux/linux.h
==============================================================================
--- head/sys/amd64/linux/linux.h Sun May 24 16:42:49 2015 (r283442)
+++ head/sys/amd64/linux/linux.h Sun May 24 16:47:13 2015 (r283443)
@@ -82,6 +82,7 @@ typedef l_long l_time_t;
typedef l_int l_timer_t;
typedef l_int l_mqd_t;
typedef l_size_t l_socklen_t;
+typedef l_ulong l_fd_mask;
typedef struct {
l_int val[2];
Modified: head/sys/amd64/linux32/linux.h
==============================================================================
--- head/sys/amd64/linux32/linux.h Sun May 24 16:42:49 2015 (r283442)
+++ head/sys/amd64/linux32/linux.h Sun May 24 16:47:13 2015 (r283443)
@@ -95,6 +95,7 @@ typedef l_uint l_uid_t;
typedef l_ushort l_uid16_t;
typedef l_int l_timer_t;
typedef l_int l_mqd_t;
+typedef l_ulong l_fd_mask;
typedef struct {
l_int val[2];
Modified: head/sys/compat/linux/linux_misc.c
==============================================================================
--- head/sys/compat/linux/linux_misc.c Sun May 24 16:42:49 2015 (r283442)
+++ head/sys/compat/linux/linux_misc.c Sun May 24 16:47:13 2015 (r283443)
@@ -531,7 +531,7 @@ linux_select(struct thread *td, struct l
tvp = NULL;
error = kern_select(td, args->nfds, args->readfds, args->writefds,
- args->exceptfds, tvp, sizeof(l_int) * 8);
+ args->exceptfds, tvp, LINUX_NFDBITS);
#ifdef DEBUG
if (ldebug(select))
@@ -2181,7 +2181,7 @@ linux_pselect6(struct thread *td, struct
tvp = NULL;
error = kern_pselect(td, args->nfds, args->readfds, args->writefds,
- args->exceptfds, tvp, ssp, sizeof(l_int) * 8);
+ args->exceptfds, tvp, ssp, LINUX_NFDBITS);
if (error == 0 && args->tsp != NULL) {
if (td->td_retval[0] != 0) {
Modified: head/sys/compat/linux/linux_misc.h
==============================================================================
--- head/sys/compat/linux/linux_misc.h Sun May 24 16:42:49 2015 (r283442)
+++ head/sys/compat/linux/linux_misc.h Sun May 24 16:47:13 2015 (r283443)
@@ -33,6 +33,9 @@
#include <sys/sysctl.h>
+ /* bits per mask */
+#define LINUX_NFDBITS sizeof(l_fd_mask) * 8
+
/*
* Miscellaneous
*/
Modified: head/sys/i386/linux/linux.h
==============================================================================
--- head/sys/i386/linux/linux.h Sun May 24 16:42:49 2015 (r283442)
+++ head/sys/i386/linux/linux.h Sun May 24 16:47:13 2015 (r283443)
@@ -89,6 +89,7 @@ typedef l_uint l_uid_t;
typedef l_ushort l_uid16_t;
typedef l_int l_timer_t;
typedef l_int l_mqd_t;
+typedef l_ulong l_fd_mask;
typedef struct {
l_int val[2];
More information about the svn-src-head
mailing list