Release 0.9.3
[bordeaux-threads.git] / apiv2 / impl-corman.lisp
blob7840de82f4a194857a03fe76416fcff453b96961
1 ;;;; -*- indent-tabs-mode: nil -*-
3 (in-package :bordeaux-threads-2)
5 ;;;
6 ;;; Threads
7 ;;;
9 (deftype native-thread ()
10 'threads:thread)
12 (defun %make-thread (function name)
13 (declare (ignore name))
14 (threads:create-thread function))
16 (defun %current-thread ()
17 threads:*current-thread*)
19 (defun %thread-name (thread)
20 (declare (ignore thread))
21 nil)
23 (mark-not-implemented 'join-thread)
24 (defun %join-thread (thread)
25 (declare (ignore thread))
26 (signal-not-implemented 'join-thread))
28 (mark-not-implemented 'thread-yield)
29 (defun %thread-yield ()
30 (declare (ignore thread))
31 (signal-not-implemented 'thread-yield))
33 ;;;
34 ;;; Introspection/debugging
35 ;;;
37 (mark-not-implemented 'all-threads)
38 (defun %all-threads ()
39 (declare (ignore thread))
40 (signal-not-implemented 'all-threads))
42 (mark-not-implemented 'interrupt-thread)
43 (defun %interrupt-thread (thread function)
44 (declare (ignore thread))
45 (signal-not-implemented 'interrupt-thread))
47 (defun %destroy-thread (thread)
48 (threads:terminate-thread thread))
50 (mark-not-implemented 'thread-alive-p)
51 (defun %thread-alive-p (thread)
52 (declare (ignore thread))
53 (signal-not-implemented 'thread-alive-p))
56 ;;;
57 ;;; Locks
58 ;;;
60 (mark-not-implemented 'make-lock)
61 (defun %make-lock (lock waitp timeout)
62 (declare (ignore lock waitp timeout))
63 (signal-not-implemented 'make-lock))
65 (mark-not-implemented 'make-recursive-lock)
66 (defun %make-recursive-lock (lock waitp timeout)
67 (declare (ignore lock waitp timeout))
68 (signal-not-implemented 'make-recursive-lock))
71 ;;;
72 ;;; Condition variables
73 ;;;
75 (mark-not-implemented 'make-condition-variable)
76 (defun %make-condition-variable (name)
77 (declare (ignore name))
78 (signal-not-implemented 'make-condition-variable))