Use listen() from FreeBSD

This commit is contained in:
Sebastian Huber
2013-10-14 10:04:29 +02:00
parent 6676de488a
commit 7c3625139f
5 changed files with 85 additions and 33 deletions

View File

@@ -59,6 +59,8 @@ int bind(int, const struct sockaddr *, socklen_t);
int connect(int, const struct sockaddr *, socklen_t);
int listen(int, int);
int shutdown(int, int);
int socket(int, int, int);

View File

@@ -165,38 +165,6 @@ sockargs(mp, buf, buflen, type)
*********************************************************************
*/
int
listen (int s, int backlog)
{
struct thread *td;
struct socket *so;
int error = 0;
if ((so = rtems_bsdnet_fdToSocket (s)) == NULL) {
error = EBADF;
}
if( error == 0 )
{
td = curthread;
#ifdef MAC
error = mac_socket_check_listen(td->td_ucred, so);
if (error == 0) {
#endif
CURVNET_SET(so->so_vnet);
error = solisten(so, backlog, td);
CURVNET_RESTORE();
#ifdef MAC
}
#endif
}
if( error == 0 )
{
return error;
}
errno = error;
return -1;
}
int
kern_accept(struct thread *td, int s, struct sockaddr **name, socklen_t *namelen)
{