Fix signalig of socket errors
[iolib.git] / src / iolib.multiplex.asd
blob005cdbc8aefb2bab890c91bd3eaf370bc148cd4a
1 ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; indent-tabs-mode: nil -*-
3 (defsystem :iolib.multiplex
4   :description "I/O multiplexing library."
5   :author "Stelian Ionescu <sionescu@cddr.org>"
6   :maintainer "Stelian Ionescu <sionescu@cddr.org>"
7   :licence "MIT"
8   :depends-on (:iolib.base :iolib.syscalls :cffi)
9   :pathname (merge-pathnames #p"multiplex/" *load-truename*)
10   :components
11   ((:file "pkgdcl")
13    ;; Scheduler
14    (:file "utils" :depends-on ("pkgdcl"))
15    (:file "timers" :depends-on ("pkgdcl"))
16    (:file "queue" :depends-on ("pkgdcl"))
17    (:file "scheduler" :depends-on ("pkgdcl" "timers" "queue"))
19    ;; Event loop
20    (:file "fd-entry" :depends-on ("pkgdcl" "timers"))
21    (:file "multiplexer" :depends-on ("pkgdcl" "utils" "fd-entry"))
22    (:file "event-loop" :depends-on ("pkgdcl" "timers" "queue" "scheduler"
23                                     "fd-entry" "multiplexer"))
25    ;; FD wait
26    (:file "fd-wait" :depends-on ("pkgdcl" "utils"))
28    ;; Event sources
29    (:file "backend-select"
30      :depends-on ("pkgdcl" "utils" "fd-entry" "multiplexer"))
31    #+linux
32    (:file "backend-epoll"
33      :depends-on ("pkgdcl" "utils" "fd-entry" "multiplexer"))
34    #+bsd
35    (:file "backend-kqueue"
36      :depends-on ("pkgdcl" "utils" "fd-entry" "multiplexer"))
37    (:file "detect"
38      :depends-on ("pkgdcl" "multiplexer" "backend-select"
39                   #+linux "backend-epoll" #+bsd "backend-kqueue"))))