Commit Graph
3070 Commits
Author SHA1 Message Date
bakpakin 160dd830a0 Add janet_interpreter_interrupt for custom scheduling.
This would allow an embedder to suspend the current Janet fiber
via an external event like a signal, other thread, or really anything.
This is a useful primitive for custom schedulers that would call
janet_interpreter_interupt periodically (say, in an interval with SIG_ALRM),
do some work, and then use janet_continue on the janet_root_fiber, or
for embedding into other soft-realtime applications like a game. To say,
only allow about 5ms per frame of interpreter time.
2021-07-24 15:14:37 -05:00
bakpakin aafc595e3a Fix typo. 2021-07-24 12:47:51 -05:00
bakpakin 202783c67a Add :d switch to os/spawn.
This allows for starting processes that can be turned into zombies.
2021-07-24 11:55:04 -05:00
Calvin Rose f11b2c5a0d Merge pull request #717 from yumaikas/fix-os-open-write-windows
Fix os open write windows, and add TerminateProcess calls
2021-07-24 07:52:40 -05:00
Andrew Owen e8a86013da Add fixes for :write on filestreams that come from os/open 2021-07-24 02:30:00 -06:00
Calvin Rose a89c377c92 Add the fiber-fn macro which slightly generalizes coro. 2021-07-22 17:59:01 -05:00
Calvin Rose 54d73f6722 Make epoll the default on Linux for event loop implementations. 2021-07-21 21:46:26 -05:00
Calvin Rose 2e58f5f0d4 Add table/clear. 2021-07-21 19:58:42 -05:00
Calvin Rose e7ea39f410 Prevent possible bad garbage collection when finalizing streams.
The GC finalizer for streams would sometimes try and use other objects
after they had already been freed.
2021-07-20 19:42:35 -05:00
Calvin Rose a125218d03 Move some defines. 2021-07-20 18:24:56 -05:00
Calvin Rose 55b8563c08 Add janet_loop_fiber C function to run a fiber to completion from C.
This is mainly meant for use as the entry point to a C wrapper for a
janet program. This maeans the programmer doesn't need to use an ifdef
to handle if the event loop is enabled.
2021-07-18 09:39:37 -05:00
Calvin Rose aea1f59f6e Add option to build janet without thread library. 2021-07-17 15:13:28 -05:00
Calvin Rose ab27b789e4 Fix minimal build. 2021-07-17 13:10:55 -05:00
Calvin Rose 3a1a59f1eb Address windows build issue. 2021-07-16 21:10:02 -05:00
Calvin Rose c20a76cddb Update CHANGELOG and indicate next release will be 1.17.0 2021-07-16 21:05:42 -05:00
Calvin Rose 1ef6db16ed Add janet_vm_save and janet_vm_load.
This lets a user multiplex multiple Janet VMs on a single
thread or process if they are willing to implement context switching
themselves.
2021-07-16 20:59:03 -05:00
Calvin Rose 230b734663 Delete jpm and related testing from this repository.
JPM and related functionality has been moved to it's own repository
and will be versioned separately from Janet. The distribution process
could later be modified to bundle a version of jpm with Janet but this
is perhaps not needed.
2021-07-15 20:49:41 -05:00
Calvin Rose dc414f1239 Merge pull request #713 from yumaikas/fix-process-terminate-windows
Add TerminateProcess to janet_proc_gc and os_proc_kill on Windows
2021-07-11 09:30:07 -04:00
Calvin Rose dafd2329c5 Merge pull request #712 from sogaiu/tweak-function-name
Tweak function name
2021-07-11 08:11:48 -05:00
Andrew Owen 12cfda1f58 Add TerminateProcess to janet_proc_gc and os_proc_kill on Windows 2021-07-11 04:05:11 -06:00
Andrew Owen 96b4e71704 Add TerminateProcess to janet_proc_gc and os_proc_kill on Windows 2021-07-11 03:56:08 -06:00
sogaiu edb415d1a8 Tweak function name 2021-07-11 12:27:15 +09:00
Calvin Rose 72c1d1c484 Fix some error condiditions to have the right number of arguments. 2021-07-10 14:09:59 -04:00
Calvin Rose 41a7154aa5 Remove jhydro from CI pipeline. 2021-06-27 12:49:19 -05:00
Calvin Rose 346d024e48 Remove travis CI integration. 2021-06-27 12:48:07 -05:00
Calvin Rose 04a248dc37 Update CHANGELOG.md 2021-06-27 10:54:03 -05:00
Calvin Rose 5defc3b914 Fix bug with ev/go when passing supervisor and value.
value was incorrectly set to nil in these cases. Also
fix some typos in core docstrings.
2021-06-25 18:58:19 -05:00
Calvin Rose 04ca945ecf Address #711 - don't persist (dyn :exit) 2021-06-24 14:51:08 -05:00
Calvin Rose d687db71e7 Merge pull request #708 from subsetpark/patch-1
Update CHANGELOG.md [typo]
2021-06-12 10:34:45 -05:00
Calvin Rose 87f8fe14dd Prepare for 1.16.1 release. v1.16.1 2021-06-09 19:08:24 -05:00
Zach Smith af08124229 Update CHANGELOG.md 2021-06-08 12:22:54 -04:00
Calvin Rose 2eadb21eb7 Update changelog. 2021-05-31 16:51:53 -05:00
Calvin Rose 8b97a0dbbf Merge pull request #707 from pepe/fix-shadow
Rename level const to not to shadow line in eval1
2021-05-31 16:05:41 -05:00
Calvin Rose 69afa2a7a3 Merge branch 'master' into fix-shadow 2021-05-31 16:05:29 -05:00
Calvin Rose da5328bae5 Merge branch 'master' of git.sr.ht:~bakpakin/janet 2021-05-31 15:14:39 -05:00
Josef Pospíšil a4325372e2 Rename level const to not to shadow line in eval1 2021-05-31 21:51:31 +02:00
Calvin Rose 4b96b73858 Add -w and -x flags to janet for linting. 2021-05-31 14:36:25 -05:00
Calvin Rose bbae43f259 Update copyright dates. 2021-05-31 13:46:02 -05:00
bakpakin 14fedbf063 Update copyright. 2021-05-31 09:53:52 -05:00
Calvin Rose ab974c409d Remove externeous typedarray defines in janet.h 2021-05-31 09:23:45 -05:00
Calvin Rose 2040709585 Re-add make docs.
Wasn't hurting anything.
2021-05-30 16:44:37 -05:00
Calvin Rose 60214dc659 Update for windows compiler warning. 2021-05-30 16:42:58 -05:00
Calvin Rose b990d77f16 Prepare for 1.16.0 release. v1.16.0 2021-05-30 12:15:56 -05:00
Calvin Rose d204e06e11 Use lint information in run-context. 2021-05-30 10:33:46 -05:00
Calvin Rose f6b37dbc77 Merge branch 'master' into linting 2021-05-30 09:34:32 -05:00
Calvin Rose ff4d49f556 Set JANET_DIST_DIR on release. 2021-05-30 09:23:52 -05:00
Calvin Rose dfa5fa1187 Remove some stupid shell gymnastics in Makefile. 2021-05-30 09:14:34 -05:00
Calvin Rose 1f4f69a5b6 Fix windows syntax issue. 2021-05-29 20:40:26 -05:00
Calvin Rose 84f82f5465 Remove code delimtiers from defn and defmacro. 2021-05-29 20:37:30 -05:00
Calvin Rose c911f7c47e Address #694 - Update doc-format with more features.
Also allows having doc-format print in color with
(dyn :doc-color).
2021-05-29 20:34:22 -05:00