Calvin Rose
e4f4a42751
Add regression test for chat server issues. Address #1496
2024-09-06 08:05:56 -05:00
Calvin Rose
4f65c2707e
Undo workaround for unsetting reference from streams -> fibers after
...
async event completes. Moves this logic back into janet_async_end.
2024-09-06 00:20:50 -05:00
Calvin Rose
75bdea5155
Fix memory leak with weak table frees.
...
The backing buffer for weak arrays and tables was not freed upon
being garbage collected. This shows up in traces and valgrind. Verified
by running `make valtest` with changes.
2024-09-06 00:15:17 -05:00
Calvin Rose
f553c5da47
Update ev.c with workaround for failing chat server.
...
2 issues:
- With poll backend, we were polling for writes even after we finished
writing. Presents as wasting a lot of CPU.
- Fixes strange closing behavior of chat server.
2024-09-06 00:00:09 -05:00
Calvin Rose
5f70a85f7e
Add chat server example.
2024-09-05 23:09:02 -05:00
Calvin Rose
c82fd106a7
Merge pull request #1494 from pyrmont/bugfix.changelog
2024-09-04 18:31:21 -07:00
Michael Camilleri
0e9b866b98
Move unreleased change out of v1.35.2 section
2024-09-05 08:29:45 +09:00
Calvin Rose
67a8c6df09
Merge pull request #1492 from sogaiu/tweak-changelog
...
Move bundle/add-bin changelog line to unreleased
2024-09-04 05:39:30 -07:00
sogaiu
86cf8127b6
Move bundle/add-bin changelog line to unreleased
2024-09-04 17:47:10 +09:00
Calvin Rose
828e0a07cd
Don't check for docstrings when explicitly disabled.
2024-08-31 17:23:28 -05:00
Calvin Rose
90018b35c0
Begin standardizing of event properties for filewatch.
...
- `:file-name` for the name of the file that triggered the event.
- `:dir-name` for the containing directory of the file
- `:type` for the event type.
2024-08-31 14:26:08 -05:00
Calvin Rose
5a199716cb
Save :source-form in environment when debugging is enabled.
2024-08-29 21:12:53 -05:00
Calvin Rose
43ecd4f2d8
Add fixes for marshalling weak containers - Fix #1488
...
Weak containers did not preserve their weakness when marshalled. This
fixes that for tables and arrays, as well as adds some tests for this.
Also exposes functions for creating weak tables in janet.h
2024-08-22 19:37:41 -05:00
Calvin Rose
c5a9602be9
Better handle extra filewatch events on wine.
2024-08-20 18:30:56 -05:00
Calvin Rose
e88aab6d68
Fix mingw build warnings.
2024-08-20 18:24:54 -05:00
Calvin Rose
ce528251d5
Fix mingw build warnings.
2024-08-20 18:06:57 -05:00
Calvin Rose
9e334da2d6
Exit early when filewatch is not supported.
...
Currently we have no poll implementation.
2024-08-18 16:25:47 -05:00
Calvin Rose
c0e508e334
filewatch on mingw has same semantics as windows
2024-08-18 16:18:09 -05:00
Calvin Rose
b63b3bef74
Add testing for Linux.
2024-08-18 15:44:59 -05:00
Calvin Rose
05d0b5ac05
Add mostly stubbed filewatch test suite.
2024-08-18 14:42:44 -05:00
Calvin Rose
c56d6e8fc1
Add suite for testing filewatch.
...
Currently expects windows events.
2024-08-18 10:12:33 -07:00
Calvin Rose
33d2f9a522
More changes how we use WideCharToMutliByte
...
Handle case where there is no data pushed in.
2024-08-18 07:23:06 -07:00
Calvin Rose
e53d22fad2
Add unlisten for linux.
2024-08-18 06:25:25 -07:00
Calvin Rose
33f55dc32f
Go back to ReadDirectoryChangesExW since it is better.
2024-08-18 05:29:08 -07:00
Calvin Rose
7e6aad2221
filewatch/make -> filewatch/new
...
Add support for :recursive on windows.
2024-08-17 16:37:30 -07:00
Calvin Rose
3c0c22259c
ReadDirectoryChangesExW is only supported in recent windows.
...
Also break mingw builds it seems.
2024-08-17 13:33:39 -07:00
Calvin Rose
42f6af4bf1
First working version of filewatch on windows.
2024-08-17 12:37:58 -07:00
Calvin Rose
f274b02653
More changes for filewatch windows.
2024-08-17 10:26:43 -05:00
Calvin Rose
70c29b4e5d
More updates to windows build.
2024-08-17 10:21:50 -05:00
Calvin Rose
84d43d1039
Add failure to initialize protections for filewatch module.
2024-08-17 10:12:36 -05:00
Calvin Rose
5c67c1165d
Merge branch 'filewatch'
2024-08-17 10:08:37 -05:00
Calvin Rose
85028967d8
Add aliases for bundle/module - issue #1486
...
info.jdn -> bundle/info.jdn
bundle.janet -> bundle/init.janet
2024-08-17 09:58:40 -05:00
Calvin Rose
6ceff6ecc9
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-16 19:44:17 -05:00
Calvin Rose
06eec06ff0
More work on ICOP
2024-08-16 19:44:07 -05:00
Calvin Rose
2dcc0adc0e
Merge pull request #1485 from sogaiu/tweak-add-bin-dest-arg
...
Prefix bin+sep to add-bin dest argument
2024-08-15 05:47:10 -07:00
sogaiu
8ca1e44af1
Prefix bin+sep to add-bin dest argument
2024-08-15 15:53:35 +09: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
6bd58dd4c0
Update CHANGELOG.md
2024-08-11 08:47:10 -05:00
Calvin Rose
e3406cd922
Update changelog and ensure consistent version strings.
2024-08-10 15:21:43 -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
ce36c4c0d6
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:08:16 -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
631622aa48
Use gensym in do-compare macro.
...
Improve hygiene of macro in case later changes introduce subtle bugs.
2024-07-31 11:19:44 -05:00
Calvin Rose
aaeaa3a944
Add geomean function.
2024-07-31 09:47:00 -05:00
Calvin Rose
d1104b5a65
Merge pull request #1480 from pyrmont/bugfix.fallback-compare
...
Fix fallback support in polymorphic compare
2024-07-31 06:05:27 -07:00