---
 _build.cfg                  |    2 +-
 bin/sinan                   |    2 +-
 bin/sinserv                 |    2 +-
 client/sinan                |   32 +++++++++++++++++++-------------
 server/sinan/ebin/sinan.app |    2 +-
 5 files changed, 23 insertions(+), 17 deletions(-)

diff --git a/_build.cfg b/_build.cfg
index 153b584..07b52ee 100644
--- a/_build.cfg
+++ b/_build.cfg
@@ -1,7 +1,7 @@
 
 project : {
    name : sinan
-   vsn  : "0.12.0.9"
+   vsn  : "0.12.0.13"
 
 },
 
diff --git a/bin/sinan b/bin/sinan
index bf6877d..e4f912a 100755
--- a/bin/sinan
+++ b/bin/sinan
@@ -3,7 +3,7 @@
 
 #### Fill in values for these variables ####
 REL_NAME=sinan
-REL_VSN=0.12.0.9
+REL_VSN=0.12.0.13
 ###########################################
 
 PROG=$0
diff --git a/bin/sinserv b/bin/sinserv
index 636f298..c07b121 100755
--- a/bin/sinserv
+++ b/bin/sinserv
@@ -9,7 +9,7 @@ mkdir -p $CONFIGDIR
 
 #### Fill in values for these variables ####
 REL_NAME=sinan
-REL_VSN=0.12.0.9
+REL_VSN=0.12.0.13
 ERTS_VSN=5.6.3
 INVOCATION_SUFFIX=""
 ###########################################
diff --git a/client/sinan b/client/sinan
index 77ff33e..3912db2 100755
--- a/client/sinan
+++ b/client/sinan
@@ -12,7 +12,7 @@ from libsinan import sinexceptions
 CONNECTION_REFUSED = 111
 MAC_CONNECTION_REFUSED = 61
 
-VERSION = "0.12.0.9"
+VERSION = "0.12.0.13"
 
 if platform.system() == 'Darwin':
     CONNECTION_REFUSED = MAC_CONNECTION_REFUSED
@@ -34,35 +34,37 @@ def start_server(largs):
     if os.system(prefix + cmd) != 0:
         raise sinexceptions.SinanError("Unable to start " + cmd)
 
-def try_reconnect(largs, handler, retry_count=10, retry_interval=1):
+def try_reconnect(largs, handler, retry_count=10, retry_interval=1, 
print_retry=True):
     count = 0
     while 1:
         try:
-            return handler.handle(largs)
+            handler.handle(largs)
+            return True
         except (socket.error), e:
             code, reason = e
             if code == CONNECTION_REFUSED:
                 if count == 0:
-                    print ("Server doesn't seem to be started. I am " +
-                    "starting it now. ")
+                    print "starting server now."
                     start_server(largs)
                 if count < retry_count:
-                    print ("Unable to connect after " + str(count *
+                   if print_retry:
+                       print ("Unable to connect after " + str(count *
                                                             retry_interval) +
-                           " seconds. Waiting " + str(retry_interval) +
-                           " second(s)")
+                              " seconds. Waiting " + str(retry_interval) +
+                              " second(s)")
                     count += 1
                     time.sleep(retry_interval)
                     continue
                 else:
                     print ("Unable to connect to server after "
                     + str(retry_count) +
-                    " tries. It seems that the server is probably hung.")
+                    " tries")
                     break
             else:
                 print "Unable to build got : "
                 print e
                 break
+    return False
 
 def check_version(largs):
     """ Check  that the version of the server matchs this client. 
@@ -70,7 +72,8 @@ def check_version(largs):
     original_task = largs['task']
     largs['task'] = "version"
     checkhandler = libsinan.version_check_handler.VersionCheckHandler()
-    try_reconnect(largs, checkhandler)
+    if not try_reconnect(largs, checkhandler, print_retry=False):
+       print "Unable to start or connect to the server."
 
     if VERSION == libsinan.version_check_handler.version:
        largs['task'] = original_task
@@ -82,21 +85,24 @@ def check_version(largs):
     
     shutdownhandler = libsinan.handler.Handler()
 
-    try_reconnect(largs, shutdownhandler)
+    if not try_reconnect(largs, shutdownhandler, print_retry=False):
+         print "Unable to start or connect to the server."
  
     print "Waiting a couple of seconds to give it time to shutdown"
     time.sleep(3)
     
     largs['task'] = "version"
  
-    try_reconnect(largs, checkhandler)
+    if not try_reconnect(largs, checkhandler, print_retry=False):
+         print "Unable to start or connect to the server."
   
     if VERSION == libsinan.version_check_handler.version:
        print "Restart successful. Starting task"
         largs['task'] = original_task
         return True
     else:
-        print "Restart unsuccessful, something is seriously out of whack. Try 
the command 'pkill beam' and run again."
+        print ("Restart unsuccessful, it could be that the currently running 
sinan doesn't support shutdown. " +
+               "Its not a big deal, just kill sinan's beam process manually.")
        return False
 
 def initiate_task(largs):
diff --git a/server/sinan/ebin/sinan.app b/server/sinan/ebin/sinan.app
index 50aad12..2f81058 100644
--- a/server/sinan/ebin/sinan.app
+++ b/server/sinan/ebin/sinan.app
@@ -2,7 +2,7 @@
 
 {application, sinan,
  [{description, "Build system for erlang"},
-  {vsn, "0.11.0.2"},
+  {vsn, "0.12.0.13"},
   {modules, [sinan,
              sin_edoc,
              sin_shell,
-- 
1.6.1.3


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"erlware-dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/erlware-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to