]> gitweb.factorcode.org Git - factor.git/commitdiff
Make io.servers.connection work if SSL is not available
authorunknown <Administrator@.(none)>
Tue, 18 Nov 2008 00:42:44 +0000 (18:42 -0600)
committerunknown <Administrator@.(none)>
Tue, 18 Nov 2008 00:42:44 +0000 (18:42 -0600)
basis/io/servers/connection/connection.factor

index 674ed8803caf1623210496dededc36a075d1d4d7..942bdb041d6bd593089df516581132cabad1abe0 100644 (file)
@@ -114,19 +114,29 @@ M: threaded-server handle-client* handler>> call ;
         ] when*
     ] unless ;
 
+: (start-server) ( threaded-server -- )
+    init-server
+    dup threaded-server [
+        dup name>> [
+            [ listen-on [ start-accept-loop ] parallel-each ]
+            [ ready>> raise-flag ]
+            bi
+        ] with-logging
+    ] with-variable ;
+
 PRIVATE>
 
 : start-server ( threaded-server -- )
-    init-server
-    dup secure-config>> [
-        dup threaded-server [
-            dup name>> [
-                [ listen-on [ start-accept-loop ] parallel-each ]
-                [ ready>> raise-flag ]
-                bi
-            ] with-logging
-        ] with-variable
-    ] with-secure-context ;
+    #! Only create a secure-context if we want to listen on
+    #! a secure port, otherwise start-server won't work at
+    #! all if SSL is not available.
+    dup secure>> [
+        dup secure-config>> [
+            (start-server)
+        ] with-secure-context
+    ] [
+        (start-server)
+    ] if ;
 
 : wait-for-server ( threaded-server -- )
     ready>> wait-for-flag ;