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:
Michael Koch 2003-12-09 15:39:23 +00:00 committed by Michael Koch
parent 25a23f3b26
commit defd7921fd
4 changed files with 42 additions and 33 deletions

View file

@ -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

View file

@ -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.
}
}

View file

@ -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();
}
/**

View file

@ -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;