[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