Calvin Rose
6a78b6d1c6
Merge remote-tracking branch 'origin/compile-opt' into compile-opt
2023-10-10 20:28:09 -05:00
Calvin Rose
cb25a2ecd6
Avoid using execvpe function.
2023-10-08 21:33:15 -05:00
Calvin Rose
741a5036e8
Add %D and %I for 64 bit formatting.
...
Instead of breaking old code with changing %i and %d.
2023-10-08 21:23:03 -05:00
Calvin Rose
549ee95f3d
Add os/posix-exec (along os/posix-fork)
...
Useful for old-style unix daemons, start up scripts, and so on.
Easy to add on top of os/execute.
May want to consider allowing the same IO redirection as os/execute
and os/spawn.
May also want to put both fork and exec behind a config switch since I
suppose some systems may not support them, although I don't know of any
concrete examples.
2023-10-08 21:03:08 -05:00
Calvin Rose
6ae81058aa
Be more consistent with va_arg types.
2023-10-08 19:09:35 -05:00
Calvin Rose
267c603824
Don't use full parallelism to avoid oom
2023-10-08 18:37:31 -05:00
Calvin Rose
a8f583a372
CMD isn't bash
2023-10-08 18:34:04 -05:00
Calvin Rose
2b5d90f73a
Disable amalgamation w/ mingw in CI due to memory limitations
2023-10-08 18:28:07 -05:00
Calvin Rose
4139e426fe
Refine interface for janet's new event loop.
...
Infer the current root fiber and force user to
allocate state for async events.
2023-10-08 18:25:46 -05:00
Calvin Rose
a775a89e01
Improve assert-no-error test helper.
2023-10-08 17:34:50 -05:00
Calvin Rose
990f6352e0
Allow for unregistered streams w/ kqueue.
2023-10-08 17:21:42 -05:00
Calvin Rose
b344702304
Merge branch 'master' into ev-epoll-fewer-syscalls
2023-10-08 17:20:20 -05:00
Calvin Rose
d497612bce
Revert
2023-10-08 17:18:36 -05:00
Calvin Rose
2a3b101bd8
ktrace trace -c
2023-10-08 16:25:55 -05:00
Calvin Rose
63e93af421
Ktrace
2023-10-08 16:00:33 -05:00
Calvin Rose
ab055b3ebe
i dont know how ktrace works 2
2023-10-08 15:54:57 -05:00
Calvin Rose
a9a013473f
i dont know how ktrace works
2023-10-08 15:53:44 -05:00
Calvin Rose
87de1e5766
Quick experiment on macos
2023-10-08 15:51:44 -05:00
Calvin Rose
894aaef267
Mac please
2023-10-08 15:42:54 -05:00
Calvin Rose
e209e54ffe
bsds are very strict on C standards
...
No labels before declarations.
2023-10-08 15:37:23 -05:00
Calvin Rose
7511eadaa7
Update code for freebsd and ENODEV on stream register
2023-10-08 15:26:02 -05:00
Calvin Rose
6c4906605a
Some bsds return ENODEV for devices like /dev/null
2023-10-08 15:09:53 -05:00
Calvin Rose
8a9be9d837
Make sure posted events are read from non-blocking socket.
2023-10-08 13:46:24 -05:00
Calvin Rose
b72098cc71
remove extra decref
2023-10-08 13:24:42 -05:00
Calvin Rose
defe60e08b
Handle refcounts in posted events.
2023-10-08 13:18:08 -05:00
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