aboutsummaryrefslogtreecommitdiff
path: root/examples/http-server/connection-queue.tm
diff options
context:
space:
mode:
Diffstat (limited to 'examples/http-server/connection-queue.tm')
-rw-r--r--examples/http-server/connection-queue.tm25
1 files changed, 0 insertions, 25 deletions
diff --git a/examples/http-server/connection-queue.tm b/examples/http-server/connection-queue.tm
deleted file mode 100644
index c56069e1..00000000
--- a/examples/http-server/connection-queue.tm
+++ /dev/null
@@ -1,25 +0,0 @@
-use pthreads
-
-func _assert_success(name:Text, val:Int32; inline)
- fail("$name() failed!") if val < 0
-
-struct ConnectionQueue(_connections:@[Int32]=@[], _mutex=pthread_mutex_t.new(), _cond=pthread_cond_t.new())
- func enqueue(queue:ConnectionQueue, connection:Int32)
- queue._mutex.lock()
- queue._connections.insert(connection)
- queue._mutex.unlock()
- queue._cond.signal()
-
-
- func dequeue(queue:ConnectionQueue -> Int32)
- conn : Int32?
-
- queue._mutex.lock()
-
- while queue._connections.length == 0
- queue._cond.wait(queue._mutex)
-
- conn = queue._connections.pop(1)
- queue._mutex.unlock()
- queue._cond.signal()
- return conn!