summaryrefslogtreecommitdiffstats
path: root/freebsd/sys/kern/sys_socket.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-10-28 15:40:53 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-10-31 13:18:52 +0100
commit0c9f27ba24d11dc7c50b0348036074dbc6a08846 (patch)
tree81213e30d906800a1d84522611a3009838c7dafc /freebsd/sys/kern/sys_socket.c
parentUse compile-time constant for vm_guest (diff)
downloadrtems-libbsd-0c9f27ba24d11dc7c50b0348036074dbc6a08846.tar.bz2
Use kqueue() and kevent() from FreeBSD
Diffstat (limited to 'freebsd/sys/kern/sys_socket.c')
-rw-r--r--freebsd/sys/kern/sys_socket.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/freebsd/sys/kern/sys_socket.c b/freebsd/sys/kern/sys_socket.c
index 19633aeb..6bb4416e 100644
--- a/freebsd/sys/kern/sys_socket.c
+++ b/freebsd/sys/kern/sys_socket.c
@@ -440,6 +440,11 @@ soo_close(struct file *fp, struct thread *td)
int error = 0;
struct socket *so;
+#ifdef __rtems__
+ /* FIXME: Move this to the RTEMS close() function */
+ knote_fdclose(td, rtems_bsd_fp_to_fd(fp));
+#endif /* __rtems__ */
+
so = fp->f_data;
#ifndef __rtems__
fp->f_ops = &badfileops;
@@ -474,6 +479,7 @@ const rtems_filesystem_file_handlers_r socketops = {
.fsync_h = rtems_filesystem_default_fsync_or_fdatasync,
.fdatasync_h = rtems_filesystem_default_fsync_or_fdatasync,
.fcntl_h = rtems_filesystem_default_fcntl,
- .poll_h = rtems_bsd_soo_poll
+ .poll_h = rtems_bsd_soo_poll,
+ .kqfilter_h = rtems_bsd_soo_kqfilter
};
#endif /* __rtems__ */