Calvin Rose
f6df8ff935
Expose _exit to skip certain cleanup with os/exit
2024-02-03 14:12:10 -06:00
Calvin Rose
a10b4f61d8
Address #1337 (leet!).
...
Changes a few scheduling details and adds a 0 byte explicitly to
symbols created via gensym.
2023-12-16 16:15:46 -06:00
Calvin Rose
16f409c6a9
Typo for SIGALARM in os/proc-kill
2023-11-21 21:51:56 -06:00
Calvin Rose
21ebede529
Move posix-fork inside correct if-def
...
Don't compile if processes are disabled.
2023-10-15 11:03:26 -05:00
Calvin Rose
cb25a2ecd6
Avoid using execvpe function.
2023-10-08 21:33:15 -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
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
7f852b8af4
Handle refcounts in posted events.
2023-10-08 13:14:36 -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
7599656784
Update meson build once more.
2023-09-24 15:35:40 -07:00
Calvin Rose
b95dfd4bdf
Update docstring.
2023-09-09 10:58:20 -05:00
Calvin Rose
4ecadfabf4
Fix atomics - warnings on windows
2023-08-24 08:00:50 -05:00
Calvin Rose
ffd79c6097
Allow multiple simultaneous interrupts cleanly for #1262
...
Instead of setting a flag, each interrupt increments an atomic
counter. When the interrupt is finally handled, either by scheduling
code to run on the event loop or executing some out of band code, the
user must now decrement the interrupt counter with
janet_interpreter_interrupt_handled. While this counter is non-zero, the
event loop will not enter the interpreter. This changes the API a bit but
makes it possible and easy to handle signals without race conditions
or scheduler hacks, as the runtime can ensure that high priority code is
run before re-entering possibly blocking interpreter code again.
Also included is a new function janet_schedule_soon, which prepends to
the task queue instead of appending, allowing interrupt handler to skip
ahead of all other scheduled fibers.
Lastly, also update meson default options to include the
interpreter_interrupt code and raise a runtime error if os/sigaction
is used with interpreter interrupt but that build option is not enabled.
2023-08-24 07:38:53 -05:00
Calvin Rose
21eab7e9cc
Update sigaction to help address #1262 .
...
Update example to have 4 cases - case 3 was previously broken but should
now work.
2023-08-23 09:16:59 -05:00
Calvin Rose
7198dcb416
Add sanboxing for signal handling.
2023-08-19 17:44:04 -05:00
Calvin Rose
08e20e912d
Use pthread_sigmask when adding signal handlers.
2023-08-19 17:30:55 -05:00
Calvin Rose
f45571033c
Add os/sigaction for signal handling.
...
Also improve interrupts to work better with busy loops
and signals.
2023-08-19 13:26:29 -05:00
Michael Camilleri
f977ace7f8
Avoid prematurely closing file descriptors when redirecting IO
2023-06-23 15:50:19 +09:00
Calvin Rose
63bb93fc07
Fix isatty code to not use functions only defined if ev is enabled.
2023-06-19 07:14:56 -05:00
Calvin Rose
9a2897e741
Run through astyle with manual corrections
2023-06-08 13:01:49 -05:00
Ico Doornekamp
e0ea844d50
added os/isatty, do not enable colors if stdout is not a tty
2023-06-02 16:59:54 +02:00
tionis
4dfc869b8a
fixed formatting in src/core/os.c
2023-05-21 15:55:11 +02:00
tionis
b4b1c7d80b
Merge branch 'janet-lang:master' into master
2023-05-21 13:51:24 +00:00
tionis
e53c03028f
ignoring signals on windows in os/proc-kill again
2023-05-21 15:50:15 +02:00
Ico Doornekamp
e8e5f66f4c
Implement janet_gettime() for win32 and macos; need testing
2023-05-21 07:29:27 +02:00
Ico Doornekamp
aaf3d08bcd
Added 'source' argument to os/clock to select the clock source
2023-05-21 07:29:27 +02:00
tionis
0f35acade1
use SIGTERM for os/proc-kill signal test
2023-05-16 18:47:38 +02:00
tionis
56d72ec4c5
support sending signals to processes on windows
2023-05-16 17:07:51 +02:00
tionis
0b58e505ee
os/proc-kill now accepts an optional signal to send
2023-05-16 00:44:19 +02:00
Calvin Rose
84a4e3e98a
Update CHANGELOG.
...
and format.
2023-05-11 18:03:38 -05:00
Ico Doornekamp
5cd729c4c1
Added os.strftime()
2023-05-11 06:08:19 +02:00
Calvin Rose
e4be5992b3
Address issue with #1131
2023-05-10 18:43:33 -05:00
Calvin Rose
347721ae40
Fix macos behavior - Closes #1097 , Fixes #1015
2023-04-24 09:37:49 -05:00
Charlotte Koch
575af763f6
os/which can return :dragonfly
...
While here, document that :bsd is another possible return value.
2023-03-07 06:45:31 -08:00
Calvin Rose
b032d94877
Add sandboxing API.
...
The sandboxing API is meant to make janet a bit more attractive
for certain application embedding use cases. The sandboxing API
puts limits on what system resources the interpreter can access.
2023-02-06 09:05:57 -06:00
Calvin Rose
05e7f974e3
Add os/compiler to the core.
...
Allows querying what compiler was used to compile Janet.
2023-01-28 14:00:02 -06:00
Calvin Rose
9106228787
Add :riscv32 and :riscv32 values for os/arch.
2023-01-27 11:23:57 -06:00
sogaiu
8f598d6f96
Update os/realpath docstring
2023-01-23 12:55:04 +09:00
Calvin Rose
07a3158fba
Merge pull request #1060 from ianthehenry/doc-typos
...
Fix some docstring typos
2023-01-21 16:21:57 -06:00
bakpakin
a490937cd9
Add :mingw value when getting the OS setting when compiled with mingw.
2023-01-21 11:50:03 -06:00
bakpakin
93b469885a
Initial Mingw support with Makefile.
...
Also add a macro JANET_MSVC to distinguish between
a windows build (JANET_WINDOWS) and a build with msvc.
2023-01-21 10:37:34 -06:00
Ian Henry
ab224514f0
Fix some docstring typos.
2023-01-18 19:41:56 -08:00
Calvin Rose
b73855b193
Merge branch 'master' of github.com:janet-lang/janet
2023-01-07 15:05:16 -06:00
Calvin Rose
a0f40042cb
Update copyright year.
2023-01-07 15:03:35 -06:00
Charlotte Koch
23de953fbd
(os/cpu-count) should not be defined at all with JANET_REDUCED_OS
2022-12-15 20:16:43 -08:00
Calvin Rose
914a4360e7
Indicate version bump since header file changed.
2022-11-05 16:38:52 -05:00
Calvin Rose
60e0f32f1a
Fix os/open with :rw permissions on posix.
2022-10-24 19:39:58 -05:00
Calvin Rose
6b27008c99
Fix os/date with nil argument.
2022-10-10 15:24:28 -05:00