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
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
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
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
8b489490e1
Fix readable? docstring.
2026-03-17 21:13:03 +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
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
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
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
40b64e269b
Fix resources-last-used inconsistency
2025-11-17 11:18:16 +00:00
86fb460d6a
Simplify using the waiters queue in the resource pool
...
Use a custom dequeue procedure that returns #f rather than raising an
exception on an empty queue.
2025-11-17 11:18:16 +00:00
d18b5b8d5d
Don't loop inside exception handlers
...
/ test (push) Successful in 9s
The resource pools seemed to become slower and slower over time, this
might help?
2025-07-09 12:06:20 +01:00
f4b48a1499
Avoid calling deq! if the queue is empty
/ test (push) Successful in 9s
2025-07-06 18:49:09 +01:00
ec2f2489a2
Fix resource pool bug
...
/ test (push) Successful in 9s
And remove unnecessary named let.
2025-07-01 23:13:31 +01:00
ff93dc1442
Add a post-request-hook to the web server
/ test (push) Successful in 11s
2025-07-01 12:45:12 +01:00
ce1b710bcf
Use a queue for the resource pool waiters
...
/ test (push) Successful in 8s
As this will maybe improve performance.
2025-06-30 22:57:08 +01:00
7709ffe1d3
Tweak the knots chunked output port
...
/ test (push) Successful in 9s
To try and reduce the number of write syscalls.
2025-06-30 15:41:04 +02:00
deae518b52
Use the buffer size for chunked output ports
/ test (push) Successful in 37s
2025-06-29 08:35:28 +02:00
0fa6737a39
Document some things
/ test (push) Successful in 9s
2025-06-27 23:28:47 +02:00
4140ef0bd6
More consistently handle results and exceptions
...
In the parallelism module.
2025-06-27 22:43:25 +02:00
d8f64399cd
Tweak spacing
2025-06-27 00:16:37 +02:00
163d775496
Fix record-predicate that should be exception-predicate
2025-06-27 00:16:18 +02:00