[rtems-libbsd commit] Fixed rtems_bsdnet_makeFdForSocket to work with file system change.
Jennifer Averett
jennifer at rtems.org
Wed Jul 18 16:39:27 UTC 2012
Module: rtems-libbsd
Branch: master
Commit: e4f259143047f4499d585bcbd9493451956cab86
Changeset: http://git.rtems.org/rtems-libbsd/commit/?id=e4f259143047f4499d585bcbd9493451956cab86
Author: Jennifer Averett <jennifer.averett at oarcorp.com>
Date: Wed Jul 18 11:42:04 2012 -0500
Fixed rtems_bsdnet_makeFdForSocket to work with file system change.
---
rtemsbsd/src/rtems-bsd-syscalls.c | 15 ++++++---------
1 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/rtemsbsd/src/rtems-bsd-syscalls.c b/rtemsbsd/src/rtems-bsd-syscalls.c
index eb00ef5..821fcc9 100644
--- a/rtemsbsd/src/rtems-bsd-syscalls.c
+++ b/rtemsbsd/src/rtems-bsd-syscalls.c
@@ -94,11 +94,7 @@ struct socket *rtems_bsdnet_fdToSocket(
/*
* Create an RTEMS file descriptor for a socket
*/
-
-int rtems_bsdnet_makeFdForSocket(
- void *so,
- const rtems_filesystem_file_handlers_r *h
-)
+static int rtems_bsdnet_makeFdForSocket (void *so)
{
rtems_libio_t *iop;
int fd;
@@ -111,8 +107,9 @@ int rtems_bsdnet_makeFdForSocket(
iop->flags |= LIBIO_FLAGS_WRITE | LIBIO_FLAGS_READ;
iop->data0 = fd;
iop->data1 = so;
- iop->pathinfo.handlers = h;
- iop->pathinfo.mt_entry->ops = &rtems_filesystem_operations_default;
+ iop->pathinfo.handlers = &socket_handlers;
+ iop->pathinfo.mt_entry = &rtems_filesystem_null_mt_entry;
+ rtems_filesystem_location_add_to_mt_entry(&iop->pathinfo);
return fd;
}
@@ -214,7 +211,7 @@ socket (int domain, int type, int protocol)
/* An extra reference on `fp' has been held for us by falloc(). */
error = socreate(domain, &so, type, protocol, td->td_ucred, td);
if (error == 0) {
- fd = rtems_bsdnet_makeFdForSocket (so, &socket_handlers);
+ fd = rtems_bsdnet_makeFdForSocket (so);
if (fd < 0)
{
soclose (so);
@@ -461,7 +458,7 @@ kern_accept(struct thread *td, int s, struct sockaddr **name, socklen_t *namelen
TAILQ_REMOVE(&head->so_comp, so, so_list);
head->so_qlen--;
- fd = rtems_bsdnet_makeFdForSocket (so, &socket_handlers);
+ fd = rtems_bsdnet_makeFdForSocket (so);
if (fd < 0) {
TAILQ_INSERT_HEAD(&head->so_comp, so, so_list);
head->so_qlen++;
More information about the vc
mailing list