2003-12-09 Michael Koch <konqueror@gmx.de>
* java/net/DatagramSocket.java (close): Directly return if socket is closed. * java/net/ServerSocket.java (close): Directly return if socket is closed. * java/net/Socket.java (close): Directly return if socket is closed. From-SVN: r74470
This commit is contained in:
parent
25a23f3b26
commit
defd7921fd
4 changed files with 42 additions and 33 deletions
|
@ -1,3 +1,12 @@
|
|||
2003-12-09 Michael Koch <konqueror@gmx.de>
|
||||
|
||||
* java/net/DatagramSocket.java
|
||||
(close): Directly return if socket is closed.
|
||||
* java/net/ServerSocket.java
|
||||
(close): Directly return if socket is closed.
|
||||
* java/net/Socket.java
|
||||
(close): Directly return if socket is closed.
|
||||
|
||||
2003-12-09 Michael Koch <konqueror@gmx.de>
|
||||
|
||||
* gnu/java/nio/SelectorImpl.java
|
||||
|
|
|
@ -216,32 +216,32 @@ public class DatagramSocket
|
|||
*/
|
||||
public void close()
|
||||
{
|
||||
if (!isClosed())
|
||||
if (isClosed())
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
try
|
||||
{
|
||||
getImpl().close();
|
||||
}
|
||||
catch (SocketException e)
|
||||
{
|
||||
// Ignore this case, just close the socket in finally clause.
|
||||
}
|
||||
finally
|
||||
{
|
||||
remoteAddress = null;
|
||||
remotePort = -1;
|
||||
impl = null;
|
||||
}
|
||||
getImpl().close();
|
||||
}
|
||||
catch (SocketException e)
|
||||
{
|
||||
// Ignore this case, just close the socket in finally clause.
|
||||
}
|
||||
finally
|
||||
{
|
||||
remoteAddress = null;
|
||||
remotePort = -1;
|
||||
impl = null;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
if (getChannel() != null)
|
||||
getChannel().close();
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
// Do nothing.
|
||||
}
|
||||
try
|
||||
{
|
||||
if (getChannel() != null)
|
||||
getChannel().close();
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
// Do nothing.
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -353,15 +353,15 @@ public class ServerSocket
|
|||
*/
|
||||
public void close () throws IOException
|
||||
{
|
||||
if (!isClosed())
|
||||
{
|
||||
impl.close();
|
||||
impl = null;
|
||||
bound = false;
|
||||
if (isClosed())
|
||||
return;
|
||||
|
||||
impl.close();
|
||||
impl = null;
|
||||
bound = false;
|
||||
|
||||
if (getChannel() != null)
|
||||
getChannel().close();
|
||||
}
|
||||
if (getChannel() != null)
|
||||
getChannel().close();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1003,7 +1003,7 @@ public class Socket
|
|||
public synchronized void close () throws IOException
|
||||
{
|
||||
if (isClosed())
|
||||
throw new SocketException("socket is closed");
|
||||
return;
|
||||
|
||||
getImpl().close();
|
||||
impl = null;
|
||||
|
|
Loading…
Add table
Reference in a new issue