Calvin Rose
06eec06ff0
More work on ICOP
2024-08-16 19:44:07 -05:00
Calvin Rose
2aedc6beff
Begin stubbing out win32 abstraction.
...
Win32 abstraction will use ReadDirectoryChanges with overlapped
IO to get results. Some work will be required to allow for single file
watches, as well as allow for recursive watching on Linux.
Unfortunately, various operating systems have very differnet
abstractions here. I would rather expose inotify, kqueue, and
ReadDirectoryChanges fairly transparently before
adding shims to make cross platform code easier.
2024-08-14 21:24:27 -05:00
Calvin Rose
af2eb06298
Expose janet_channel_make and janet_channel_make_threaded
2024-08-14 17:34:48 -05:00
Calvin Rose
7ff545bd2e
Stop out better configuration.
2024-08-11 18:43:10 -05:00
Calvin Rose
a59b5765b6
Work on the filewatch module.
...
Currently a wrapper around inotify, should be expanded to work with
kqueue, icop, and eventually a implementation with polling and stat.
2024-08-11 17:50:58 -05:00
Calvin Rose
ab70524d85
Add array/join and tuple/join
...
Utilities for combining indexed types more efficiently. `array/join`
also solves some interface issues with array/concat
2024-08-10 15:16:28 -05:00
Calvin Rose
2b01b780da
Only raise IOCP error on readable, writable, or acceptable streams.
...
We may create streams whose sole purpose is to wrap a file descriptor
and therefor don't need to be IOCP enabled / nonblocking.
2024-08-06 07:06:34 -05:00
Calvin Rose
f3048a3d6b
Update documentation.
2024-08-05 20:17:00 -05:00
Calvin Rose
accac6c662
Add options to os/pipe for custom blocking behavior.
...
Useful for create pipelines on unix.
Also add bundle/whois to help diagnose where bundle installed files
came from.
2024-08-05 19:52:20 -05:00
Calvin Rose
872b39cc32
Add syntax literals for signed and unsigned 64 bit integers.
...
Number literals can now take an optional "representation" suffix
- Use `:n` for normal numbers (IEEE-754 doubles)
- Use `:s` for signed 64 bit integers
- Use `:u` for unsigned 64 bit integers
- Other suffix will fallthrough the usual parseing logic. This means
that they will only possibly resolve to symbols if they start with -,
+, or .
The syntax does not collide with any existing valid Janet and is only
enabled with JANET_INTTYPES. This also leaves open a syntax for other
number types such as bignums, ratios, decimals, etc.
2024-07-21 09:45:44 -05:00
Calvin Rose
771956b5b6
Fix some -fsanitize=undefined behavior for #1475
...
Also fix issue with os/clock and default values that were incorrect.
The api shold have been a little nicer here to prevent this issue.
2024-07-17 08:50:02 -05:00
Calvin Rose
ecc4da5113
Include math.h for corelib.c
...
This is the downside of the forced amalgamated build. Strange build
constraints.
2024-07-13 12:44:46 -05:00
Calvin Rose
f5555d21b9
Update CHANGELOG.md
2024-07-13 12:43:35 -05:00
Calvin Rose
342a29c7be
Fix formatting.
2024-07-12 15:22:46 -05:00
Calvin Rose
368b891499
Merge branch 'linspace-range'
2024-07-12 15:15:46 -05:00
Calvin Rose
4835ecb950
Work on making range take non-integer values.
2024-07-11 08:05:52 -05:00
Calvin Rose
3078686f8f
Merge pull request #1468 from SyrupThinker/st/aarch64_ffi
...
Add support for the AAPCS64 calling convention
2024-06-26 06:55:04 -07:00
Calvin Rose
0f4ecd93ab
Fix #1469
2024-06-26 08:54:26 -05:00
Valentin Anger
4af187d0ca
Add support for the AAPCS64 calling convention
2024-06-23 18:22:25 +02:00
Calvin Rose
a5d6b22838
Check for __GLIBC__ instead of _GNU_SOURCE
...
musl doesn't obey this behavior.
2024-06-21 17:17:22 -05:00
Philip Nelson
0b51ab157d
Fix typos
2024-06-16 06:59:27 -07:00
Calvin Rose
75710ccabd
Error on buffer/push-uint16 with non 16 bit unsigned integer.
2024-06-15 06:47:47 -05:00
Philip Nelson
16a3c85baa
Fix buffer push uint max
2024-06-14 18:15:31 -07:00
Calvin Rose
e2a8951f68
Address #1452 - Partial revert some changes from #1391
...
This doesn't seem to reintroduce the original issue. There was
definitely some interplay with #1431
Doing git bisect landed me at commit
2f0c789ea12198ace34b7218a3001b4f6447a9ee as the first bad commit for
issue #1452 .
2024-06-07 10:32:20 -05:00
Calvin Rose
f0f03ad519
Delete dead code.
2024-06-04 21:11:08 -05:00
Calvin Rose
7bae7d9efd
Merge changes from bundle-tools branch:
...
- Update file IO to explicitly use 64bit ftell/fseek
- Add env argument to eval
- Allow naming function literals with keywords.
2024-05-26 12:04:35 -05:00
Calvin Rose
ae2c5820a1
Fix janet_strerror when _GNU_SOURCE defined.
2024-05-25 13:24:01 -05:00
Calvin Rose
7d3acc0ed6
Get rid of "extended locale" support.
...
While useful on some platforms, behavior seems to be different across
the board, making use difficult.
2024-05-19 18:01:20 -05:00
Calvin Rose
2637b33957
Include locale.h and xlocale.h on some platforms.
2024-05-19 17:40:39 -05:00
Calvin Rose
58ccb66659
Move janet_buffer_dtostr
2024-05-19 17:14:21 -05:00
Calvin Rose
634429cf61
Merge branch 'locales'
2024-05-19 17:05:49 -05:00
Calvin Rose
03166a745a
Disallow nan and inf in jdn.
2024-05-19 13:25:25 -05:00
Calvin Rose
876b7f106f
OpenBSD does not work with LC_*_MASK stuff.
2024-05-18 17:22:10 -05:00
Calvin Rose
809b6589a1
Put limits.h back.
2024-05-18 15:31:23 -05:00
Calvin Rose
02f53ca014
Formatting.
2024-05-18 15:21:37 -05:00
Calvin Rose
0b03ddb21b
More work on setting locale for extended locale support.
2024-05-18 15:20:22 -05:00
Calvin Rose
ea5d4fd3af
JANET_BSD not defined on apple.
2024-05-18 14:24:51 -05:00
Calvin Rose
e6b73f8cd1
BSD, use xlocale for thread safe functionality
2024-05-18 14:11:05 -05:00
Calvin Rose
af232ef729
windows needs a distinct implementation from posix for thread safety.
...
I must say, the windows solution is a lot simpler.
2024-05-18 14:02:20 -05:00
Calvin Rose
2e2f8abfc0
Work on add locales.
...
Need to be careful not to mess with %j formatter, or
in some other places.
2024-05-18 13:23:33 -05:00
Calvin Rose
9946f3bdf4
Add buffer/format-at
...
Move changes over from bundle-tools branch and add testing.
2024-05-15 20:16:42 -05:00
Calvin Rose
c747e8d16c
Address some compiler linter messages on openbsd
2024-05-15 18:20:20 -05:00
Calvin Rose
7c5ed04ab1
A few minor improvements.
...
- Add long-form CLI options
- Update changelog.
- Use snprintf instead of sprintf for linters.
2024-05-02 09:13:29 -05:00
Calvin Rose
4779a445e0
Fix BSD/Macos issue for #1431
2024-04-26 19:32:47 -05:00
Calvin Rose
f0f1b7ce9e
Address #1431 - level-trigger mode for net/accept-loop
...
In the edge-trigger mode before this change, if a socket
receives 2 connections before one can be handled, then only a single
connection is handle and 1 connection will never be handled in some
cases. Reverting to level-trigger mode makes this impossible.
2024-04-26 19:28:20 -05:00
Calvin Rose
bf19920d65
Improve casting.
2024-04-18 03:29:45 -05:00
Calvin Rose
2f0c789ea1
More work to address #1391
...
Properly set read_fiber and write_fiber to NULL when unused.
This was causing extra listening in the poll implemenation leading to
busy loops where a read was accidentally listening for POLLOUT.
2024-04-15 21:32:17 -05:00
Calvin Rose
a9b8f8e8a9
Address #1391 - set fd to negative value if not used.
...
See https://groups.google.com/g/comp.unix.programmer/c/bNNadBIEpTo/m/G5gs1mqNhbIJ?pli=1 for a conversation and workaround.
2024-04-15 18:12:42 -05:00
Calvin Rose
f92f3eb6fa
Address #1434 - add dynamic bindings for module state.
2024-04-15 16:20:13 -05:00
John W Higgins
623da131e5
os/clock docstring typos
2024-03-27 22:32:27 -07:00