mirror of
https://github.com/opnsense/src.git
synced 2026-06-08 16:22:46 -04:00
Use the linux_connect() on alpha rather than passing directly through
to our native connect(). This is required to deal with the differences in the way linux handles connects on non-blocking sockets. This gets the private beta of the Compaq Linux/alpha JDK working on FreeBSD/alpha Approved by: marcel
This commit is contained in:
parent
e652fd8417
commit
930a65fe47
2 changed files with 11 additions and 2 deletions
|
|
@ -150,7 +150,8 @@
|
|||
96 NOPROTO LINUX { int setpriority(int which, int who, int prio); }
|
||||
97 STD LINUX { int osf1_socket(int domain, int type, \
|
||||
int protocol); }
|
||||
98 NOPROTO LINUX { int connect(int s, caddr_t name, int namelen); }
|
||||
98 STD LINUX { int linux_connect(int s, caddr_t name, \
|
||||
int namelen); }
|
||||
99 NOPROTO LINUX { int oaccept(int s, caddr_t name, int *anamelen); } \
|
||||
accept accept_args int
|
||||
100 UNIMPL LINUX
|
||||
|
|
|
|||
|
|
@ -343,8 +343,10 @@ struct linux_connect_args {
|
|||
struct sockaddr * name;
|
||||
int namelen;
|
||||
};
|
||||
int linux_connect(struct proc *, struct linux_connect_args *);
|
||||
#endif /* !__alpha__*/
|
||||
|
||||
static int
|
||||
int
|
||||
linux_connect(struct proc *p, struct linux_connect_args *args)
|
||||
{
|
||||
struct linux_connect_args linux_args;
|
||||
|
|
@ -355,8 +357,12 @@ linux_connect(struct proc *p, struct linux_connect_args *args)
|
|||
} */ bsd_args;
|
||||
int error;
|
||||
|
||||
#ifdef __alpha__
|
||||
bcopy(args, &linux_args, sizeof(linux_args));
|
||||
#else
|
||||
if ((error = copyin(args, &linux_args, sizeof(linux_args))))
|
||||
return (error);
|
||||
#endif /* __alpha__ */
|
||||
|
||||
bsd_args.s = linux_args.s;
|
||||
bsd_args.name = (caddr_t)linux_args.name;
|
||||
|
|
@ -418,6 +424,8 @@ linux_connect(struct proc *p, struct linux_connect_args *args)
|
|||
return (error);
|
||||
}
|
||||
|
||||
#ifndef __alpha__
|
||||
|
||||
struct linux_listen_args {
|
||||
int s;
|
||||
int backlog;
|
||||
|
|
|
|||
Loading…
Reference in a new issue