Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
4033adc6
Commit
4033adc6
authored
Nov 21, 2002
by
Michael Koch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Forgot to add to cvs command line
From-SVN: r59340
parent
c231c91e
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
35 additions
and
85 deletions
+35
-85
libjava/java/net/natPlainDatagramSocketImpl.cc
+28
-33
libjava/java/net/natPlainSocketImpl.cc
+7
-52
No files found.
libjava/java/net/natPlainDatagramSocketImpl.cc
View file @
4033adc6
...
...
@@ -7,23 +7,15 @@ Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
details. */
#include <config.h>
#include <platform.h>
#ifdef WIN32
#include <errno.h>
#include <string.h>
#ifndef ENOPROTOOPT
#define ENOPROTOOPT 109
#endif
#define NATIVE_CLOSE(s) closesocket (s)
#else
/* WIN32 */
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif
...
...
@@ -33,8 +25,6 @@ details. */
#include <errno.h>
#include <string.h>
#define NATIVE_CLOSE(s) ::close (s)
#endif
/* WIN32 */
#if HAVE_BSTRING_H
...
...
@@ -42,20 +32,6 @@ details. */
#include <bstring.h>
#endif
#ifndef DISABLE_JAVA_NET
// Avoid macro definitions of bind from system headers, e.g. on
// Solaris 7 with _XOPEN_SOURCE. FIXME
static
inline
int
_Jv_bind
(
int
fd
,
struct
sockaddr
*
addr
,
int
addrlen
)
{
return
::
bind
(
fd
,
addr
,
addrlen
);
}
#endif
/* DISABLE_JAVA_NET */
#ifdef bind
#undef bind
#endif
#include <gcj/cni.h>
#include <java/io/IOException.h>
#include <java/io/InterruptedIOException.h>
...
...
@@ -212,7 +188,8 @@ union InAddr
void
java
::
net
::
PlainDatagramSocketImpl
::
create
()
{
int
sock
=
::
socket
(
AF_INET
,
SOCK_DGRAM
,
0
);
int
sock
=
_Jv_socket
(
AF_INET
,
SOCK_DGRAM
,
0
);
if
(
sock
<
0
)
{
char
*
strerr
=
strerror
(
errno
);
...
...
@@ -240,10 +217,12 @@ java::net::PlainDatagramSocketImpl::bind (jint lport,
if
(
len
==
4
)
{
u
.
address
.
sin_family
=
AF_INET
;
if
(
host
!=
NULL
)
memcpy
(
&
u
.
address
.
sin_addr
,
bytes
,
len
);
memcpy
(
&
u
.
address
.
sin_addr
,
bytes
,
len
);
else
u
.
address
.
sin_addr
.
s_addr
=
htonl
(
INADDR_ANY
);
u
.
address
.
sin_addr
.
s_addr
=
htonl
(
INADDR_ANY
);
len
=
sizeof
(
struct
sockaddr_in
);
u
.
address
.
sin_port
=
htons
(
lport
);
}
...
...
@@ -262,19 +241,23 @@ java::net::PlainDatagramSocketImpl::bind (jint lport,
if
(
_Jv_bind
(
fnum
,
ptr
,
len
)
==
0
)
{
socklen_t
addrlen
=
sizeof
(
u
);
if
(
lport
!=
0
)
localPort
=
lport
;
else
if
(
::
getsockname
(
fnum
,
(
sockaddr
*
)
&
u
,
&
addrlen
)
==
0
)
localPort
=
ntohs
(
u
.
address
.
sin_port
);
else
goto
error
;
/* Allow broadcast by default. */
int
broadcast
=
1
;
if
(
::
setsockopt
(
fnum
,
SOL_SOCKET
,
SO_BROADCAST
,
(
char
*
)
&
broadcast
,
sizeof
(
broadcast
))
!=
0
)
goto
error
;
return
;
}
error
:
char
*
strerr
=
strerror
(
errno
);
throw
new
java
::
net
::
BindException
(
JvNewStringUTF
(
strerr
));
...
...
@@ -329,8 +312,10 @@ java::net::PlainDatagramSocketImpl::peek (java::net::InetAddress *i)
return
rport
;
error
:
char
*
strerr
=
strerror
(
errno
);
if
(
errno
==
ECONNREFUSED
)
throw
new
PortUnreachableException
(
JvNewStringUTF
(
strerr
));
throw
new
java
::
io
::
IOException
(
JvNewStringUTF
(
strerr
));
}
...
...
@@ -356,9 +341,9 @@ java::net::PlainDatagramSocketImpl::peekData(java::net::DatagramPacket *p)
tv
.
tv_usec
=
(
timeout
%
1000
)
*
1000
;
int
retval
;
if
((
retval
=
_Jv_select
(
fnum
+
1
,
&
rset
,
NULL
,
NULL
,
&
tv
))
<
0
)
goto
error
;
goto
error
;
else
if
(
retval
==
0
)
throw
new
java
::
io
::
InterruptedIOException
();
throw
new
java
::
io
::
InterruptedIOException
();
}
#endif
/* WIN32 */
...
...
@@ -391,10 +376,13 @@ java::net::PlainDatagramSocketImpl::peekData(java::net::DatagramPacket *p)
p
->
setPort
(
rport
);
p
->
setLength
((
jint
)
retlen
);
return
rport
;
error
:
char
*
strerr
=
strerror
(
errno
);
if
(
errno
==
ECONNREFUSED
)
throw
new
PortUnreachableException
(
JvNewStringUTF
(
strerr
));
throw
new
java
::
io
::
IOException
(
JvNewStringUTF
(
strerr
));
}
...
...
@@ -407,7 +395,7 @@ java::net::PlainDatagramSocketImpl::close ()
// The method isn't declared to throw anything, so we disregard
// the return value.
NATIVE_CLOSE
(
fnum
);
_Jv_close
(
fnum
);
fnum
=
-
1
;
timeout
=
0
;
}
...
...
@@ -446,8 +434,10 @@ java::net::PlainDatagramSocketImpl::send (java::net::DatagramPacket *p)
return
;
char
*
strerr
=
strerror
(
errno
);
if
(
errno
==
ECONNREFUSED
)
throw
new
PortUnreachableException
(
JvNewStringUTF
(
strerr
));
throw
new
java
::
io
::
IOException
(
JvNewStringUTF
(
strerr
));
}
...
...
@@ -473,9 +463,9 @@ java::net::PlainDatagramSocketImpl::receive (java::net::DatagramPacket *p)
tv
.
tv_usec
=
(
timeout
%
1000
)
*
1000
;
int
retval
;
if
((
retval
=
_Jv_select
(
fnum
+
1
,
&
rset
,
NULL
,
NULL
,
&
tv
))
<
0
)
goto
error
;
goto
error
;
else
if
(
retval
==
0
)
throw
new
java
::
io
::
InterruptedIOException
();
throw
new
java
::
io
::
InterruptedIOException
();
}
#endif
/* WIN32 */
...
...
@@ -508,10 +498,13 @@ java::net::PlainDatagramSocketImpl::receive (java::net::DatagramPacket *p)
p
->
setPort
(
rport
);
p
->
setLength
((
jint
)
retlen
);
return
;
error
:
char
*
strerr
=
strerror
(
errno
);
if
(
errno
==
ECONNREFUSED
)
throw
new
PortUnreachableException
(
JvNewStringUTF
(
strerr
));
throw
new
java
::
io
::
IOException
(
JvNewStringUTF
(
strerr
));
}
...
...
@@ -521,6 +514,7 @@ java::net::PlainDatagramSocketImpl::setTimeToLive (jint ttl)
// Assumes IPPROTO_IP rather than IPPROTO_IPV6 since socket created is IPv4.
char
val
=
(
char
)
ttl
;
socklen_t
val_len
=
sizeof
(
val
);
if
(
::
setsockopt
(
fnum
,
IPPROTO_IP
,
IP_MULTICAST_TTL
,
&
val
,
val_len
)
==
0
)
return
;
...
...
@@ -534,6 +528,7 @@ java::net::PlainDatagramSocketImpl::getTimeToLive ()
// Assumes IPPROTO_IP rather than IPPROTO_IPV6 since socket created is IPv4.
char
val
;
socklen_t
val_len
=
sizeof
(
val
);
if
(
::
getsockopt
(
fnum
,
IPPROTO_IP
,
IP_MULTICAST_TTL
,
&
val
,
&
val_len
)
==
0
)
return
((
int
)
val
)
&
0xFF
;
...
...
libjava/java/net/natPlainSocketImpl.cc
View file @
4033adc6
...
...
@@ -10,7 +10,9 @@ details. */
#include <platform.h>
#ifndef DISABLE_JAVA_NET
#ifdef WIN32
#include <windows.h>
#include <winsock.h>
#include <errno.h>
...
...
@@ -20,8 +22,6 @@ details. */
#undef MIN_PRIORITY
#undef FIONREAD
#define NATIVE_CLOSE(s) closesocket (s)
// These functions make the Win32 socket API look more POSIXy
static
inline
int
write
(
int
s
,
void
*
buf
,
int
len
)
...
...
@@ -36,11 +36,6 @@ read(int s, void *buf, int len)
}
// these errors cannot occur on Win32
#define ENOTCONN 0
#define ECONNRESET 0
#ifndef ENOPROTOOPT
#define ENOPROTOOPT 109
#endif
#else
/* WIN32 */
#ifdef HAVE_SYS_IOCTL_H
...
...
@@ -53,14 +48,11 @@ read(int s, void *buf, int len)
#include <sys/filio.h>
#endif
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <errno.h>
#include <string.h>
#define NATIVE_CLOSE(s) ::close (s)
#endif
/* WIN32 */
#endif
/* DISABLE_JAVA_NET */
...
...
@@ -73,43 +65,6 @@ read(int s, void *buf, int len)
typedef
int
socklen_t
;
#endif
#ifndef DISABLE_JAVA_NET
// Avoid macro definitions of bind, connect from system headers, e.g. on
// Solaris 7 with _XOPEN_SOURCE. FIXME
static
inline
int
_Jv_bind
(
int
fd
,
struct
sockaddr
*
addr
,
int
addrlen
)
{
return
::
bind
(
fd
,
addr
,
addrlen
);
}
#ifdef bind
#undef bind
#endif
static
inline
int
_Jv_connect
(
int
fd
,
struct
sockaddr
*
addr
,
int
addrlen
)
{
return
::
connect
(
fd
,
addr
,
addrlen
);
}
#ifdef connect
#undef connect
#endif
// Same problem with accept on Tru64 UNIX with _POSIX_PII_SOCKET
static
inline
int
_Jv_accept
(
int
fd
,
struct
sockaddr
*
addr
,
socklen_t
*
addrlen
)
{
return
::
accept
(
fd
,
addr
,
addrlen
);
}
#ifdef accept
#undef accept
#endif
#endif
/* DISABLE_JAVA_NET */
#include <gcj/cni.h>
#include <gcj/javaprims.h>
#include <java/io/IOException.h>
...
...
@@ -258,7 +213,7 @@ union SockAddr
void
java
::
net
::
PlainSocketImpl
::
create
(
jboolean
stream
)
{
int
sock
=
::
socket
(
AF_INET
,
stream
?
SOCK_STREAM
:
SOCK_DGRAM
,
0
);
int
sock
=
_Jv_
socket
(
AF_INET
,
stream
?
SOCK_STREAM
:
SOCK_DGRAM
,
0
);
if
(
sock
<
0
)
{
...
...
@@ -495,7 +450,7 @@ java::net::PlainSocketImpl::close()
JvSynchronize
sync
(
this
);
// should we use shutdown here? how would that effect so_linger?
int
res
=
NATIVE_CLOSE
(
fnum
);
int
res
=
_Jv_close
(
fnum
);
if
(
res
==
-
1
)
{
...
...
@@ -518,7 +473,7 @@ java::net::PlainSocketImpl::write(jint b)
while
(
r
!=
1
)
{
r
=
::
write
(
fnum
,
&
d
,
1
);
r
=
_Jv_
write
(
fnum
,
&
d
,
1
);
if
(
r
==
-
1
)
{
if
(
java
::
lang
::
Thread
::
interrupted
())
...
...
@@ -551,7 +506,7 @@ java::net::PlainSocketImpl::write(jbyteArray b, jint offset, jint len)
while
(
len
>
0
)
{
int
r
=
::
write
(
fnum
,
bytes
,
len
);
int
r
=
_Jv_
write
(
fnum
,
bytes
,
len
);
if
(
r
==
-
1
)
{
...
...
@@ -614,7 +569,7 @@ java::net::PlainSocketImpl::read(void)
}
#endif
/* WIN32 */
int
r
=
::
read
(
fnum
,
&
b
,
1
);
int
r
=
_Jv_
read
(
fnum
,
&
b
,
1
);
if
(
r
==
0
)
return
-
1
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment