diff options
author | Jennifer Averett <jennifer.averett@oarcorp.com> | 2012-07-18 11:42:04 -0500 |
---|---|---|
committer | Jennifer Averett <jennifer.averett@oarcorp.com> | 2012-07-18 11:42:04 -0500 |
commit | e4f259143047f4499d585bcbd9493451956cab86 (patch) | |
tree | d47c49e5fb23bd035a89f6280604c6d41880d296 | |
parent | Added initilization of pcpu info for cpu0. (diff) | |
download | rtems-libbsd-e4f259143047f4499d585bcbd9493451956cab86.tar.bz2 |
Fixed rtems_bsdnet_makeFdForSocket to work with file system change.
-rw-r--r-- | 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 eb00ef5e..821fcc9c 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++; |