about summary refs log tree commit diff stats
path: root/092socket.mu
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2016-10-24 08:51:55 -0700
committerKartik K. Agaram <vc@akkartik.com>2016-10-24 08:51:55 -0700
commit87eb3acae90e0c7a36562da1bc930e03f1e12cb7 (patch)
tree4d07494f3947987609a8b1a753a5cc1213c826b5 /092socket.mu
parent55800f65587a18576f46d4973fa8177133a5efa4 (diff)
downloadmu-87eb3acae90e0c7a36562da1bc930e03f1e12cb7.tar.gz
3586
Make sure we clear the socket variable after closing it.
Diffstat (limited to '092socket.mu')
-rw-r--r--092socket.mu12
1 files changed, 6 insertions, 6 deletions
diff --git a/092socket.mu b/092socket.mu
index 57c8120d..803c6557 100644
--- a/092socket.mu
+++ b/092socket.mu
@@ -20,7 +20,7 @@ F - example-server-test: $open-server-socket failed]
   memory-should-contain [
     10:array:character <- [abc]
   ]
-  $close-socket socket
+  socket <- $close-socket socket
 ]
 # helper just for this scenario
 def example-handler query:text -> response:text [
@@ -52,7 +52,7 @@ scenario example-client-test [
 
 type request-handler = (recipe text -> text)
 
-def serve-one-request socket:num, request-handler:request-handler [
+def serve-one-request socket:num, request-handler:request-handler -> socket:num [
   local-scope
   load-ingredients
   session:num <- $accept socket
@@ -63,7 +63,7 @@ F - example-server-test: $accept failed]
   query:text <- drain contents
   response:text <- call request-handler, query
   write-to-socket session, response
-  $close-socket session
+  session <- $close-socket session
 ]
 
 def start-reading-from-network resources:&:resources, uri:text -> contents:&:source:char [
@@ -101,7 +101,7 @@ def request-socket socket:num, s:text -> socket:num [
   $write-to-socket socket, 10/lf
 ]
 
-def receive-from-socket socket:num, sink:&:sink:char -> sink:&:sink:char [
+def receive-from-socket socket:num, sink:&:sink:char -> sink:&:sink:char, socket:num [
   local-scope
   load-ingredients
   {
@@ -128,11 +128,11 @@ def receive-from-socket socket:num, sink:&:sink:char -> sink:&:sink:char [
   sink <- close sink
 ]
 
-def receive-from-client-socket-and-close socket:num, sink:&:sink:char -> sink:&:sink:char [
+def receive-from-client-socket-and-close socket:num, sink:&:sink:char -> sink:&:sink:char, socket:num [
   local-scope
   load-ingredients
   sink <- receive-from-socket socket, sink
-  $close-socket socket
+  socket <- $close-socket socket
 ]
 
 def write-to-socket socket:num, s:text [