aeiouaeiouaeiouaeiouaeiouaeiou
896c28b0c8
os.c: use JANET_SPAWN_NO_CHDIR macros for macOS <10.15
...
Signed-off-by: aeiouaeiouaeiouaeiouaeiouaeiou <aeioudev@outlook.com >
2025-08-29 13:43:28 +03:00
Calvin Rose
4e02f27eb9
Prepare for 1.39.0 release
v1.39.0
2025-08-24 17:09:39 -05:00
Calvin Rose
fd234461d7
Merge pull request #1628 from snltd/illumos-support
...
illumos support
2025-08-24 16:18:09 -05:00
Calvin Rose
eabb215391
Use janet_gettime instead of clock_gettime in ev.c
...
We made the wrapper, let's use it. Also switch poll implementation to a
monotonic clock instead of realtime to be more inline with epoll and
kqueue.
2025-08-21 19:10:08 -05:00
snltd
deede6bae0
illumos support
2025-08-18 18:39:11 +00:00
Calvin Rose
697fdcff6d
Merge pull request #1627 from nlordell/fix/system-monotonic-clock
...
Read System Clock for Monotonic Time
2025-08-18 07:53:26 -05:00
Nicholas Rodrigues Lordello
ad8a5cb6c7
Read System Clock for Monotonic Time
...
This PR changes the `janet_gettime` implementation for OSX <10.12 to
read the system clock for `(os/clock :monotonic)`. As far as I was able
to find online this is _a_ monotonic clock, although it produces
different values from `clock_gettime(CLOCK_MONOTONIC, ...)` on the same
system. I can speculate that this is related to `SYSTEM_CLOCK` monotonic
time being implemented with `mach_absolute_time` which is documented to
_not advance during sleep_, and I suspect that
`clock_gettime(CLOCK_MONOTONIC, ...)` does.
**Resources**:
- `clock_get_time` implementation for the `SYSTEM_CLOCK`:
<e3723e1f17/osfmk/kern/clock_oldops.c (L284-L296)
>
<2ff845c2e0/osfmk/arm/rtclock.c (L248-L260)
>
- `mach_absolute_time` and `mach_continuous_time` definitions:
<e3723e1f17/osfmk/mach/mach_time.h (L55-L68)
>
- Stack overflow post for implementing `clock_gettime` on OS X before 10.12:
<https://stackoverflow.com/questions/11680461/monotonic-clock-on-osx >
2025-08-18 14:41:09 +02:00
Calvin Rose
99abada2c2
Merge pull request #1626 from nlordell/fix/clocks-per-sec
...
Use `CLOCKS_PER_SEC` instead of `CLOCKS_PER_SECOND`
2025-08-18 07:35:20 -05:00
Nicholas Rodrigues Lordello
0624936711
Use CLOCKS_PER_SEC
...
The POSIX standard defines that `clock(3)` returns a `clock_t` as a
number of clock ticks in `CLOCKS_PER_SEC` and not `CLOCKS_PER_SECOND`,
[source](https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_types.h.html ).
2025-08-18 09:15:30 +02:00
Calvin Rose
f764788b36
Merge pull request #1624 from nlordell/fix/libjanet-ldflags
...
Fix `LDFLAGS` Usage in Makefile
2025-08-17 20:58:40 -05:00
Calvin Rose
4701bc6543
Add test patch for #1625
2025-08-17 20:55:52 -05:00
Nicholas Rodrigues Lordello
156fb0c999
Fix LDFLAGS
Usage in Makefile
...
This PR fixes what appears to be a typo `LDFLAGS` written with an
additional `_` in the Makefile for setting the default linker flags for
`libjanet`.
2025-08-18 01:01:38 +02:00
Calvin Rose
bf34340737
Merge pull request #1623 from tttuuu888/work-issue-1622
...
Add `net/socket` for unbound socket creation for #1622
2025-08-16 06:48:43 -05:00
Seungki Kim
20535e8626
Add net/socket
for unbound socket creation #1622
2025-08-14 00:40:22 +09:00
Calvin Rose
1ead670e33
Merge pull request #1621 from tttuuu888/work-issue-1620
...
Fix: Correctly flag UDP streams in net/connect #1620
2025-08-12 16:04:52 -05:00
Seungki Kim
3ad86108f2
Fix: Correctly flag UDP streams in net/connect #1620
2025-08-11 20:56:04 +09:00
Calvin Rose
0aee7765cf
Windows quirk fix
2025-08-02 20:04:55 -05:00
Calvin Rose
4894a4673a
Fix abstract unix sockets for issue #1618 - address #1618
2025-08-02 19:00:47 -05:00
Calvin Rose
f00d3199c3
Fix #1609 Remove sigaction if JANET_NO_EV defined.
2025-08-02 18:19:39 -05:00
Calvin Rose
e34a8545e6
Merge pull request #1615 from ifreund/net-server-datagram
...
net/server: improve error for truthy handler and type :datagram
2025-08-02 18:06:24 -05:00
Isaac Freund
f974c0667b
net/server: improve error for truthy handler and type :datagram
...
Since it is invalid to call accept on a datagram socket, net/server
always errors if handler is truthy and type is :datagram.
Add an assert to give a better error message in this case and clarify
the documentation.
References: https://github.com/janet-lang/janet/issues/1614
2025-07-18 09:57:17 +02:00
Calvin Rose
ddc122958b
Merge pull request #1607 from sarna/master
...
Clarify :fresh usage in import
2025-07-13 18:35:56 -05:00
Calvin Rose
2e363bf29c
Remove extra call to filewatcher - address #1608
2025-07-13 18:34:12 -05:00
Calvin Rose
312f9faae8
Address #1609 - compile with JANET_NO_PROCESSES
2025-07-13 18:24:23 -05:00
sarna
8c9cd63cb1
Add tests for import arg validation
2025-07-13 16:32:50 +02:00
sarna
2af3f21d69
Validate optional args to import
2025-07-13 16:31:12 +02:00
sarna
c4e3fa03fa
Clarify :fresh usage in import
2025-07-12 14:38:22 +02:00
Calvin Rose
91b7bcad3d
Merge pull request #1606 from pyrmont/bugfix.bundle-install
...
Support complex dependency coordinates in `bundle/install`
2025-07-06 10:32:54 -05:00
Michael Camilleri
8d2a9c1148
Allow :dependencies value in info.jdn to contain dictionaries for complex dependency coordinates
2025-07-06 05:45:41 +09:00
Michael Camilleri
f1d47bd05a
Use :dependencies argument in bundle/install for dependency checking
2025-07-02 23:38:36 +09:00
Calvin Rose
58b1491592
Merge pull request #1605 from iacore/patch-2
...
Patch try to accept (try body ([] catch-body))
2025-06-29 10:01:32 -05:00
Calvin Rose
21a6ed3bd3
Revert order change from f4ecb5a
...
janet_interpreter_interrupt should always be called before janet_interpreter_interrupt_handled, and the original code ensured that.
2025-06-26 19:20:07 -05:00
iacore
e815c91e85
Patch try to accept (try body ([] catch-body))
2025-06-24 06:18:34 +00:00
Calvin Rose
d96e584869
Remove windows-2019 from github CI
2025-06-19 17:29:48 -05:00
Calvin Rose
f4ecb5a90f
Reorder post event / interrupt sequence in deadline.
...
The interrupt message should come _after_ the post event is made.
2025-06-18 22:13:14 -05:00
Calvin Rose
f181948aa9
Merge pull request #1601 from edsrzf/limit-buffer-read
...
Use strnlen when checking for null byte
2025-06-14 12:25:18 -05:00
Evan Shaw
bbe6b90331
Use strnlen when checking for null byte
2025-06-14 22:29:30 +12:00
Calvin Rose
27f01e2664
Merge pull request #1597 from sogaiu/remove-more-underline-bits
...
Remove some underline bits from doc-format
2025-05-21 21:39:16 -05:00
sogaiu
877967966a
Remove some underline bits from doc-format
2025-05-21 18:38:09 +09:00
Calvin Rose
56c5a0ca09
Address #1591 - remove _ behavior of docstring format
2025-05-20 19:17:32 -05:00
Calvin Rose
f3ad13c2d4
Always cancel thread on windows.
2025-05-18 14:02:32 -05:00
Calvin Rose
8ac4eec370
Change ifdef structure.
2025-05-18 13:20:19 -05:00
Calvin Rose
92e91259c3
Don't call pthread cancel on normal exits.
...
Calling pthread_cancel on threads that can exit normally is not needed.
Instead, we immediately call pthread_join if a thread can exit normally.
2025-05-18 09:52:11 -05:00
Calvin Rose
e355cb07e0
Reorder declarations.
2025-05-18 09:27:01 -05:00
Calvin Rose
5bbfcdacd5
Work on #1596 - No detached threads, make sure to call pthread_join
...
Call pthread_join on all worker threads for timeouts. Previously, we
were leaking some threads, as well as creating a timeout and leaving
has_worker unset on certain timeouts.
2025-05-18 08:36:53 -05:00
Calvin Rose
790a4f2636
Make tests pass with clang sanitizers.
...
Fix some issue with clang sanitizers, name -fsanitize=thread and
-fsanitize=undefined. The threading issue arose from the implementation
of ev/deadlock when allowing for interpreter intrerrupts, as this is
implemented by racing a timeout thread with a worker thread.
The undefined behavior issue arose in some very old code in corelib.c that will
actually work as expected for most compilers, but was both undefined and
unecessary as we have a correct implemenation in util.c.
2025-05-17 21:28:41 -05:00
Calvin Rose
84bb84b0b7
OpenBSD 7.7 -> 7.6 rollback
2025-05-16 18:58:07 -05:00
Calvin Rose
29f2b5c345
Update openbsd package for srht
2025-05-16 18:57:29 -05:00
Calvin Rose
4643c8fa35
Squashed commit of the following:
...
commit c5b3da1ffe870410b7241b78ff6a88319e98b14d
Author: Calvin Rose <calsrose@gmail.com >
Date: Fri May 16 18:35:33 2025 -0500
Inter
2025-05-16 18:49:45 -05:00
Calvin Rose
a8e2c8e5b8
Address #1596 - Use atomic intrinsics to check allow_interrupt flag.
...
Use a relaxed memory order if possible to mitigate performance issues as
much as possible. relaxed memory order should be sufficient.
2025-05-16 18:26:43 -05:00