mirror of
https://github.com/janet-lang/janet
synced 2025-07-03 18:42:54 +00:00
Add fiber/roor and allow net/server to take
a numeric port.
This commit is contained in:
parent
1dc32d5e3d
commit
761ea65d81
@ -4,6 +4,7 @@ All notable changes to this project will be documented in this file.
|
|||||||
## Unreleased - ???
|
## Unreleased - ???
|
||||||
- Add `%M`, `%m`, `%N`, and `%n` formatters to formatting functions. These are the
|
- Add `%M`, `%m`, `%N`, and `%n` formatters to formatting functions. These are the
|
||||||
same as `%Q`, `%q`, `%P`, and `%p`, but will not truncate long values.
|
same as `%Q`, `%q`, `%P`, and `%p`, but will not truncate long values.
|
||||||
|
- Add `fiber/root`.
|
||||||
- Add beta `net/` module to core for socket based networking.
|
- Add beta `net/` module to core for socket based networking.
|
||||||
- Add the `parse` function to parse strings of source code more conveniently.
|
- Add the `parse` function to parse strings of source code more conveniently.
|
||||||
- Add `jpm rule-tree` subcommand.
|
- Add `jpm rule-tree` subcommand.
|
||||||
|
@ -512,6 +512,12 @@ static Janet cfun_fiber_current(int32_t argc, Janet *argv) {
|
|||||||
return janet_wrap_fiber(janet_vm_fiber);
|
return janet_wrap_fiber(janet_vm_fiber);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Janet cfun_fiber_root(int32_t argc, Janet *argv) {
|
||||||
|
(void) argv;
|
||||||
|
janet_fixarity(argc, 0);
|
||||||
|
return janet_wrap_fiber(janet_vm_root_fiber);
|
||||||
|
}
|
||||||
|
|
||||||
static Janet cfun_fiber_maxstack(int32_t argc, Janet *argv) {
|
static Janet cfun_fiber_maxstack(int32_t argc, Janet *argv) {
|
||||||
janet_fixarity(argc, 1);
|
janet_fixarity(argc, 1);
|
||||||
JanetFiber *fiber = janet_getfiber(argv, 0);
|
JanetFiber *fiber = janet_getfiber(argv, 0);
|
||||||
@ -579,6 +585,12 @@ static const JanetReg fiber_cfuns[] = {
|
|||||||
"\t:alive - the fiber is currently running and cannot be resumed\n"
|
"\t:alive - the fiber is currently running and cannot be resumed\n"
|
||||||
"\t:new - the fiber has just been created and not yet run")
|
"\t:new - the fiber has just been created and not yet run")
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"fiber/root", cfun_fiber_root,
|
||||||
|
JDOC("(fiber/root)\n\n"
|
||||||
|
"Returns the current root fiber. The root fiber is the oldest ancestor "
|
||||||
|
"that does not have a parent.")
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"fiber/current", cfun_fiber_current,
|
"fiber/current", cfun_fiber_current,
|
||||||
JDOC("(fiber/current)\n\n"
|
JDOC("(fiber/current)\n\n"
|
||||||
|
@ -453,7 +453,12 @@ JANET_NO_RETURN static void janet_sched_write_stringlike(JanetStream *stream, co
|
|||||||
static struct addrinfo *janet_get_addrinfo(Janet *argv, int32_t offset) {
|
static struct addrinfo *janet_get_addrinfo(Janet *argv, int32_t offset) {
|
||||||
/* Get host and port */
|
/* Get host and port */
|
||||||
const char *host = janet_getcstring(argv, offset);
|
const char *host = janet_getcstring(argv, offset);
|
||||||
const char *port = janet_getcstring(argv, offset + 1);
|
const char *port;
|
||||||
|
if (janet_checkint(argv[offset + 1])) {
|
||||||
|
port = (const char *)janet_to_string(argv[offset + 1]);
|
||||||
|
} else {
|
||||||
|
port = janet_getcstring(argv, offset + 1);
|
||||||
|
}
|
||||||
/* getaddrinfo */
|
/* getaddrinfo */
|
||||||
struct addrinfo *ai = NULL;
|
struct addrinfo *ai = NULL;
|
||||||
struct addrinfo hints = {0};
|
struct addrinfo hints = {0};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user