You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by co...@locus.apache.org on 2000/02/09 02:18:39 UTC
cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/service TcpEndpoint.java
costin 00/02/08 17:18:39
Modified: src/share/org/apache/tomcat/service TcpEndpoint.java
Log:
Fix server shutdown.
Thanks Ariel Markel, I'll remove System.exit() in a separate putback.
Submitted by: Arieh Markel <Ar...@Central.Sun.COM>
Revision Changes Path
1.7 +26 -8 jakarta-tomcat/src/share/org/apache/tomcat/service/TcpEndpoint.java
Index: TcpEndpoint.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/service/TcpEndpoint.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- TcpEndpoint.java 2000/01/15 23:30:23 1.6
+++ TcpEndpoint.java 2000/02/09 01:18:39 1.7
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/service/TcpEndpoint.java,v 1.6 2000/01/15 23:30:23 costin Exp $
- * $Revision: 1.6 $
- * $Date: 2000/01/15 23:30:23 $
+ * $Header: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/service/TcpEndpoint.java,v 1.7 2000/02/09 01:18:39 costin Exp $
+ * $Revision: 1.7 $
+ * $Date: 2000/02/09 01:18:39 $
*
* ====================================================================
*
@@ -217,7 +217,12 @@
public void stopEndpoint() {
running=false;
- // serverSocket.close(); XXX?
+ try {
+ serverSocket.close(); // XXX?
+ } catch(Exception e) {
+ }
+ serverSocket = null;
+
}
@@ -244,11 +249,16 @@
void acceptConnections() {
try {
- Socket socket = serverSocket.accept();
- if (running == false) {
- socket.close(); // rude, but unlikely!
+ if (running == false)
+ return;
+
+ if( null!= serverSocket) {
+ Socket socket = serverSocket.accept();
+ if (running == false) {
+ socket.close(); // rude, but unlikely!
+ }
+ processSocket(socket);
}
- processSocket(socket);
} catch (InterruptedIOException iioe) {
// normal part -- should happen regularly so
// that the endpoint can release if the server
@@ -257,6 +267,14 @@
// way for the socket to timeout without
// tripping an exception. Exceptions are so
// 'spensive.
+ } catch (SocketException e) {
+ if (running != false) {
+ running = false;
+ String msg = sm.getString("endpoint.err.fatal",
+ serverSocket, e);
+ e.printStackTrace(); // something very wrong happened - better know what
+ System.err.println(msg);
+ }
} catch (Exception e) {
running = false;
String msg = sm.getString("endpoint.err.fatal",