c2e1cd94d7
Adjust the delay and duration loggers for thread pools
...
/ test (push) Successful in 6s
Based on the changes in resource pools.
2026-03-23 13:54:40 +00:00
b411faf279
Tweak the thread pool delay and duration loggers
...
Bringing the functionality in line with the resource pool loggers.
2026-03-23 13:25:29 +00:00
a44cc014a4
Sort out resource pool delay and duration logging
2026-03-23 13:12:13 +00:00
781c8cf9db
Fix a copy/paste error in decrement-resource-checkout-count!
2026-03-23 12:20:22 +00:00
d0ff89023b
Add documentation for lots of the "undocumented" bits
...
/ test (push) Successful in 6s
In the Guile Documenta generated documentation.
2026-03-23 11:56:53 +00:00
d282841a78
Don't export classify-stack-situation
...
As it's not intended for general use.
2026-03-23 11:43:25 +00:00
f203a8933a
Remove Guile line numbers from backtrace tests
...
/ test (push) Successful in 4s
As these differ between 3.0.10 and 3.0.11.
2026-03-22 19:12:59 +00:00
33db002464
Remove direct use of /bin/sh in backtrace tests
/ test (push) Successful in 4s
2026-03-22 19:03:10 +00:00
cfc40069fb
Fix running the tests
/ test (push) Successful in 4s
2026-03-22 18:54:28 +00:00
b451e04169
Add missing #:unwind? #t
2026-03-22 18:54:22 +00:00
b3fa4d069b
Rework the backtrace handling
...
/ test (push) Successful in 6s
Try and improve the print-backtrace-and-exception/knots output, be
selective about the stack frames which are shown to try and produce
some useful output which reflects user code and hide the
&knots-exceptions.
This commit also introduces a bunch of tests scripts that produce
output from print-backtrace-and-exception/knots, to help test this
code in different situations.
2026-03-22 18:31:56 +00:00
92c2fe46e7
Add a copyright header to knots.scm
2026-03-22 15:29:01 +00:00
c36ddc2214
web-server: Expose the sockaddr in the request meta.
2026-03-22 15:29:01 +00:00
677d941cb3
Simplify web server exception handling
...
This used to be more complicated as the exception handler was
configurable, but now it's not so this can be simplified.
2026-03-22 15:29:01 +00:00
bb6d9fd89d
Add exception handling to the server loop
...
This should start to deal with accept failing if there are too many
open files.
2026-03-22 15:29:01 +00:00
768c2b6a5b
Export call-with-temporary-thread
/ test (push) Successful in 6s
2026-03-18 21:39:55 +00:00
8cff54ea43
Add (knots web)
/ test (push) Successful in 7s
2026-03-18 21:34:31 +00:00
db9b549e59
Fix the destroy behaviour for fixed size thread pools
...
/ test (push) Successful in 38s
destroy-thread-pool should block until the thread pool has been
destroyed.
2026-03-18 09:42:17 +00:00
09cb805ee2
Add even more documentation
2026-03-18 08:58:41 +00:00
d3d4964210
Add more documentation
2026-03-18 08:44:26 +00:00
5b84273cbf
Add some documentation for the timeout procedures
...
And tweak how with-fibers-timeout works.
2026-03-17 21:58:22 +00:00
30aa837cf4
Add some resource pool documentation
2026-03-17 21:47:47 +00:00
79d5603416
Add more detail to the README.
2026-03-17 21:35:45 +00:00
8e29587ec1
Change the behind system clock threshold
...
As the Honeycomb LX2 machines start with 2001 as the time.
2026-03-17 21:13:30 +00:00
8b489490e1
Fix readable? docstring.
2026-03-17 21:13:03 +00:00
35f4c16ab0
Add call-with-temporary-thread
/ test (push) Successful in 8s
2026-01-24 15:21:15 +00:00
5260c38b5e
Address issue with failures when creating resource pool resources
...
/ test (push) Successful in 5s
Previously failures could lead to no resources in the pool, and
waiters which will never get a resource. Retrying here fixes that
issue, although maybe another approach is needed that keeps track of
new resources being created, as that'll allow keeping track of this
when destroying resource pools.
2026-01-12 16:26:24 +00:00
094259b049
Add display, simple-format and format variants
...
Which call put-bytevector for performing output. When used in
combination with an unbuffered port, this should be safer than using
the normal Guile procedures, as I think it'll avoid writing to the
buffers, while still avoiding single character at a time output.
More research is needed though in to how to output to stdout/stderr
when using fibers with a parallelism greater than 1.
2026-01-12 10:00:35 +00:00
39ae5177f2
Add spawn-fiber/knots
...
/ test (push) Has been cancelled
Which is like spawn-fiber, but uses knots exception handling.
2026-01-09 15:44:04 +00:00
991a5f6961
Make print-backtrace-and-exception/knots more reliable
...
Catch failures in the Guile code for printing backtraces, and print
the partial backtrace, plus the backtrace of the exception that
happened.
2026-01-09 15:31:54 +00:00
4642f7c7d2
Fix some issues handling head requests
...
Rather than raising an exception when there's a body provided, use the
body as normal to inform the headers, as this is useful, and just
don't write the body to the client.
2026-01-09 15:14:47 +00:00
338d08081e
Add missing Makefile entries for the sort module
/ test (push) Has been cancelled
2026-01-05 10:51:24 +00:00
b4342503d5
Sort Makefile lines
2026-01-05 10:50:32 +00:00
f38456b4c6
Add fibers-delay/eager
/ test (push) Waiting to run
2026-01-05 10:44:34 +00:00
b6746fffde
Add fibers-sort!
2026-01-05 10:44:04 +00:00
f64e435b57
Use start-stack in fibers-force
...
/ test (push) Has been cancelled
Otherwise the backtraces are more confusing.
2025-12-06 10:09:01 +00:00
a8e07b738b
Fix a resource pool bug with idle seconds
...
/ test (push) Has been cancelled
Actually perform the choice operation.
2025-11-26 10:06:20 +00:00
05f7daf0e9
Add another resource pool test
2025-11-26 10:06:09 +00:00
9c123bbfa9
Fix listing resource pool resources
2025-11-25 14:26:39 +00:00
8100d36aa5
Avoid errors about returning no values from a exception handler
/ test (push) Waiting to run
2025-11-25 09:58:58 +00:00
9cce89fc01
Change how spawn-fiber-to-destroy-resource is used
...
And fix a couple of incorrect uses.
2025-11-25 09:58:45 +00:00
04d964a9f8
Fix adding the resource id to the available list
/ test (push) Waiting to run
2025-11-25 09:37:29 +00:00
3eba6fc820
Rework the resource pool implementations
...
/ test (push) Waiting to run
Don't rely on resource equality for keeping track of resources and
make some other tweaks.
2025-11-24 21:54:00 +00:00
d07e309566
Fix a bug with resource pool idle checking
...
The fiber would never finish.
2025-11-24 17:06:27 +00:00
95200eccfd
Fix fixed size thread pool lifetimes
/ test (push) Has been cancelled
2025-11-19 15:59:18 +00:00
05ad83c703
Implement lifetime support for thread pools
/ test (push) Has been cancelled
2025-11-17 11:37:26 +00:00
1a476b5aa8
Implement lifetime support in the resource pool
2025-11-17 11:37:10 +00:00
e78e41b542
Pass through default-max-waiters in make-thread-pool
2025-11-17 11:19:30 +00:00
2446078657
Fix updating the thread-proc-vector in thread pools
2025-11-17 11:19:01 +00:00
a13098494d
Fix a bug where resources pools could empty with waiters
2025-11-17 11:18:23 +00:00