Calvin Rose
7f852b8af4
Handle refcounts in posted events.
2023-10-08 13:14:36 -05:00
Calvin Rose
d71c100ca7
Revert "Add EV_EOF and EV_CLEAR to selfpipe for kqueue"
...
This reverts commit 5442c8e86d
.
2023-10-08 13:13:58 -05:00
Calvin Rose
5442c8e86d
Add EV_EOF and EV_CLEAR to selfpipe for kqueue
2023-10-08 12:34:13 -05:00
Calvin Rose
cf4901e713
Update docstring for os/posix-fork
2023-10-08 11:54:25 -05:00
Calvin Rose
4b8c1ac2d2
Add os/posix-fork
...
Very simple fork function that returns a process object that can be
waited on.
2023-10-08 11:09:00 -05:00
Calvin Rose
555e0c0b85
Try to capture more events in kqueue.
2023-10-08 10:52:27 -05:00
Calvin Rose
dc301305de
Turn off verbose CI builds for BSD.
2023-10-07 21:35:38 -05:00
Calvin Rose
f1111c135b
Work on kq
2023-10-07 21:32:20 -05:00
Calvin Rose
3905e92965
kqueue mirror master branch implementation a bit better.
2023-10-07 12:53:59 -07:00
Calvin Rose
1418ada38f
Remove duplicate code in kqueue event handling.
2023-10-07 12:40:43 -07:00
Calvin Rose
9256a66b76
Update ev.c for removing msvc warnings
2023-10-07 12:11:14 -07:00
Calvin Rose
e8c013a778
Remove some extra fiber state and use a flag.
2023-10-07 12:07:05 -07:00
Calvin Rose
fea8242ea7
Reuse overlapped overhead on windows for something useful.
2023-10-07 11:25:20 -07:00
Calvin Rose
7bfb17c209
Lots of work to make iocp work again.
...
Big issue with IOCP vs. poll variants is that the overlapped
structures have a longer lifetime than intermediate state needed
for epoll. One cannot free overlapped structures after closing a
handle/socket, like one can do with any intermediate state when using
readiness-based IO.
2023-10-07 11:18:43 -07:00
Calvin Rose
e7e4341e70
Add EV_EOF for kqueue.
2023-10-06 17:39:52 -05:00
Calvin Rose
6186be4443
Run tests verbosely
2023-10-06 01:40:12 -05:00
Calvin Rose
d07f01d7cb
Update kqueue
2023-10-06 01:33:51 -05:00
Calvin Rose
73291a30a0
Update marsh.c
2023-10-06 01:26:07 -05:00
Calvin Rose
a3b129845b
Quick blind take on getting kqueue similar to poll and poll.
2023-10-06 00:48:05 -05:00
Calvin Rose
0ff8f58be8
Simpler async model that is better suited to epoll
2023-10-06 00:37:19 -05:00
Calvin Rose
66292beec9
Don't mess with async connect on BSDs.
2023-10-04 23:33:40 -05:00
Calvin Rose
bf2af1051f
Missing &&
2023-10-04 23:29:54 -05:00
Calvin Rose
b6e3020d4c
Attempt 2 to fix bsd compilation errors.
2023-10-04 23:27:56 -05:00
Calvin Rose
8f516a1e28
Address some bsd issues.
2023-10-04 23:24:40 -05:00
Calvin Rose
5f2e287efd
Make epoll event loop use EPOLLET and not reregister file descriptors.
...
This results in fewer system calls and presumably more effcient code. It
also brings the epoll (and kqueue) code more in line with how the
windows IOCP code works, incidentally.
2023-10-04 22:35:04 -05:00
Calvin Rose
8c0d65cf9f
Merge pull request #1301 from ianthehenry/typos
2023-10-03 19:25:01 -07:00
Ian Henry
fa609a5079
fix some typos in docstrings
2023-10-03 19:17:18 -07:00
Calvin Rose
c708ff9708
Allow for qemu and other simulator based testing.
2023-10-02 23:31:55 -07:00
Calvin Rose
2ea90334a3
Remove some checking code for iocp events.
...
Be more permissive abouts events we get.
2023-10-02 23:25:26 -07:00
Calvin Rose
eea8aa555f
Revert dccb60b
to address #1299
...
This commit was to address issues with a use after free error in the
windows event loop, but the erroneous code was later reworked.
2023-10-03 00:14:25 -05:00
Calvin Rose
51a75e1872
Update janet_interpreter_interrupt to use new atomics
2023-10-01 10:52:05 -05:00
Calvin Rose
af7ed4322e
Get rid of req for 64 bit atomics
2023-10-01 10:27:51 -05:00
Calvin Rose
7cdd7cf6eb
Expose atomic refcounts to be easier to port.
...
This code was duplicate in a few places.
2023-10-01 10:09:23 -05:00
Calvin Rose
26aa622afc
Update CHANGELOG.md
2023-09-30 12:26:50 -05:00
Calvin Rose
84ad161f1e
Add support for weak references in arrays.
...
Also change weak table syntax to not require keyword arguments.
2023-09-30 10:56:43 -05:00
Calvin Rose
6efb965dab
Merge branch 'weak-tables'
2023-09-29 07:38:21 -05:00
Calvin Rose
8c90a12e0f
More test cases.
2023-09-29 07:37:33 -05:00
Calvin Rose
2d54e88e74
Update CHANGELOG.md
2023-09-28 20:41:19 -05:00
Calvin Rose
16ea5323e0
More meson tweaks.
2023-09-28 20:32:14 -05:00
Calvin Rose
7a23ce2367
See if we can fix sr.ht build due to change in install.
2023-09-28 20:24:19 -05:00
Calvin Rose
e05bc7eb54
Address compiler bug with break
.
...
Using result from `break` expression could trigger code that would
work, yet contain invalid, dead code preventing good marshalling.
2023-09-28 20:14:22 -05:00
Calvin Rose
b3a6e25ce0
Add weak references in the form of weak tables.
...
Any references exclusively held by a weak table may be collected
without the programmer needing to free references manually. A table
can be setup to have weak keys, weak values, or both.
2023-09-27 23:36:09 -05:00
Calvin Rose
b63d41102e
Fix bad merge.
2023-09-27 22:34:46 -05:00
Calvin Rose
964295b59d
Merge branch 'net-reworkings'
2023-09-27 19:06:14 -05:00
Calvin Rose
d19db30f3d
Fix meson install test.
2023-09-27 00:19:35 -05:00
Calvin Rose
d12464fc0e
Make poll work by going back to array of listeners for gc keeping.
2023-09-26 23:02:06 -05:00
Calvin Rose
a96971c8a7
More work on epoll implementation.
2023-09-26 12:05:06 -05:00
Calvin Rose
f6f769503a
Fix up ev.c to pass tests.
2023-09-26 11:11:29 -05:00
Calvin Rose
82917ac6e3
Kqueue fix.
2023-09-25 19:17:51 -07:00
Calvin Rose
a6ffafb1a2
Patches to kqueue implementation.
2023-09-25 19:07:18 -07:00