diff --git a/basis/io/servers/servers-tests.factor b/basis/io/servers/servers-tests.factor index bea66ad07a..316d1e09e3 100644 --- a/basis/io/servers/servers-tests.factor +++ b/basis/io/servers/servers-tests.factor @@ -1,7 +1,6 @@ -USING: accessors arrays calendar concurrency.promises fry io -io.encodings.ascii io.encodings.utf8 io.servers -io.servers.private io.sockets kernel namespaces scratchpad -sequences threads tools.test ; +USING: accessors arrays concurrency.flags fry io io.encodings.ascii +io.encodings.utf8 io.servers.private io.sockets kernel namespaces +sequences sets threads tools.test ; IN: io.servers { t } [ ascii listen-on empty? ] unit-test @@ -69,4 +68,16 @@ TUPLE: my-threaded-server < threaded-server ; 2array >>secure start-server stop-server -] unit-test \ No newline at end of file +] unit-test + +! add-running-server +[ + ascii HS{ } clone 2dup adjoin + add-running-server +] [ server-already-running? ] must-fail-with + +! stop-server +[ + ascii >>server-stopped + stop-server +] [ server-not-running? ] must-fail-with diff --git a/basis/io/servers/servers.factor b/basis/io/servers/servers.factor index 0a264824f6..55b364b18c 100755 --- a/basis/io/servers/servers.factor +++ b/basis/io/servers/servers.factor @@ -33,19 +33,11 @@ ERROR: server-already-running threaded-server ; @@ -181,7 +173,7 @@ PRIVATE> [ ] [ name>> ] bi [ set-servers - dup add-running-server + dup running-servers get add-running-server dup servers>> [ [ '[ _ _ [ start-accept-loop ] with-disposal ] ] @@ -196,7 +188,7 @@ PRIVATE> : stop-server ( threaded-server -- ) dup server-running? [ - [ remove-running-server ] + [ running-servers get remove-running-server ] [ [ [ secure-context>> [ &dispose drop ] when* ]