From 438f7aee8f163df5fbc48f816501b4ac0d4bbb96 Mon Sep 17 00:00:00 2001 From: josh Date: Sun, 9 Mar 2008 00:08:55 +0000 Subject: [PATCH] clean up better on QUIT git-svn-id: svn://anubis/gvsu@47 45c1a28c-8058-47b2-ae61-ca45b979098e --- cs654/proj1/KaZaServer.java | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/cs654/proj1/KaZaServer.java b/cs654/proj1/KaZaServer.java index 71b6338..5331d1a 100644 --- a/cs654/proj1/KaZaServer.java +++ b/cs654/proj1/KaZaServer.java @@ -108,7 +108,8 @@ public class KaZaServer implements Runnable m_socket.getOutputStream()); /* loop processing client messages */ - for (;;) + boolean running = true; + while (running) { String inLine = br.readLine(); @@ -172,17 +173,21 @@ public class KaZaServer implements Runnable else if (opCode.equals("QUIT")) { /* user is requesting to leave the system */ - synchronized (m_clientData) - { - m_clientData.remove(m_clientIP); - br.close(); - os.close(); - m_socket.close(); - return; - } + br.close(); + os.close(); + m_socket.close(); + running = false; } } - } catch (Exception e) { } + } + catch (Exception e) { } + finally + { + synchronized (m_clientData) + { + m_clientData.remove(m_clientIP); + } + } } }