diff options
Diffstat (limited to 'packages')
-rw-r--r-- | packages/bun-inspector-protocol/src/util/preview.ts | 5 | ||||
-rw-r--r-- | packages/bun-types/bun.d.ts | 2 | ||||
-rw-r--r-- | packages/bun-usockets/src/eventing/epoll_kqueue.c | 18 | ||||
-rw-r--r-- | packages/bun-usockets/src/libusockets.h | 2 | ||||
-rw-r--r-- | packages/bun-usockets/src/loop.c | 2 | ||||
-rw-r--r-- | packages/bun-uws/capi/examples/Broadcast.c | 4 | ||||
-rw-r--r-- | packages/bun-uws/capi/examples/HelloWorldAsync.c | 4 | ||||
-rw-r--r-- | packages/bun-uws/capi/examples/UpgradeAsync.c | 4 | ||||
-rw-r--r-- | packages/bun-uws/examples/UpgradeAsync.cpp | 2 | ||||
-rw-r--r-- | packages/bun-uws/src/Loop.h | 2 |
10 files changed, 28 insertions, 17 deletions
diff --git a/packages/bun-inspector-protocol/src/util/preview.ts b/packages/bun-inspector-protocol/src/util/preview.ts index c6d748304..78b1484ed 100644 --- a/packages/bun-inspector-protocol/src/util/preview.ts +++ b/packages/bun-inspector-protocol/src/util/preview.ts @@ -46,7 +46,10 @@ export function objectPreviewToString(objectPreview: JSC.Runtime.ObjectPreview): items = entries.map(entryPreviewToString).sort(); } else if (properties) { if (isIndexed(subtype)) { - items = properties.map(indexedPropertyPreviewToString).sort(); + items = properties.map(indexedPropertyPreviewToString); + if (subtype !== "array") { + items.sort(); + } } else { items = properties.map(namedPropertyPreviewToString).sort(); } diff --git a/packages/bun-types/bun.d.ts b/packages/bun-types/bun.d.ts index d8d8fd204..04e59a51b 100644 --- a/packages/bun-types/bun.d.ts +++ b/packages/bun-types/bun.d.ts @@ -3214,7 +3214,7 @@ declare module "bun" { loader: Loader; } - type OnLoadResult = OnLoadResultSourceCode | OnLoadResultObject; + type OnLoadResult = OnLoadResultSourceCode | OnLoadResultObject | undefined; type OnLoadCallback = ( args: OnLoadArgs, ) => OnLoadResult | Promise<OnLoadResult>; diff --git a/packages/bun-usockets/src/eventing/epoll_kqueue.c b/packages/bun-usockets/src/eventing/epoll_kqueue.c index 44212d3be..d051f5b5a 100644 --- a/packages/bun-usockets/src/eventing/epoll_kqueue.c +++ b/packages/bun-usockets/src/eventing/epoll_kqueue.c @@ -414,14 +414,18 @@ struct us_timer_t *us_create_timer(struct us_loop_t *loop, int fallthrough, unsi #endif #ifdef LIBUS_USE_EPOLL -void us_timer_close(struct us_timer_t *timer) { +void us_timer_close(struct us_timer_t *timer, int fallthrough) { struct us_internal_callback_t *cb = (struct us_internal_callback_t *) timer; us_poll_stop(&cb->p, cb->loop); close(us_poll_fd(&cb->p)); - /* (regular) sockets are the only polls which are not freed immediately */ - us_poll_free((struct us_poll_t *) timer, cb->loop); + /* (regular) sockets are the only polls which are not freed immediately */ + if(fallthrough){ + us_free(timer); + }else { + us_poll_free((struct us_poll_t *) timer, cb->loop); + } } void us_timer_set(struct us_timer_t *t, void (*cb)(struct us_timer_t *t), int ms, int repeat_ms) { @@ -438,7 +442,7 @@ void us_timer_set(struct us_timer_t *t, void (*cb)(struct us_timer_t *t), int ms us_poll_start((struct us_poll_t *) t, internal_cb->loop, LIBUS_SOCKET_READABLE); } #else -void us_timer_close(struct us_timer_t *timer) { +void us_timer_close(struct us_timer_t *timer, int fallthrough) { struct us_internal_callback_t *internal_cb = (struct us_internal_callback_t *) timer; struct kevent64_s event; @@ -446,7 +450,11 @@ void us_timer_close(struct us_timer_t *timer) { kevent64(internal_cb->loop->fd, &event, 1, NULL, 0, 0, NULL); /* (regular) sockets are the only polls which are not freed immediately */ - us_poll_free((struct us_poll_t *) timer, internal_cb->loop); + if(fallthrough){ + us_free(timer); + }else { + us_poll_free((struct us_poll_t *) timer, internal_cb->loop); + } } void us_timer_set(struct us_timer_t *t, void (*cb)(struct us_timer_t *t), int ms, int repeat_ms) { diff --git a/packages/bun-usockets/src/libusockets.h b/packages/bun-usockets/src/libusockets.h index c0e3fad90..ea17a3622 100644 --- a/packages/bun-usockets/src/libusockets.h +++ b/packages/bun-usockets/src/libusockets.h @@ -132,7 +132,7 @@ struct us_timer_t *us_create_timer(struct us_loop_t *loop, int fallthrough, unsi void *us_timer_ext(struct us_timer_t *timer); /* */ -void us_timer_close(struct us_timer_t *timer); +void us_timer_close(struct us_timer_t *timer, int fallthrough); /* Arm a timer with a delay from now and eventually a repeat delay. * Specify 0 as repeat delay to disable repeating. Specify both 0 to disarm. */ diff --git a/packages/bun-usockets/src/loop.c b/packages/bun-usockets/src/loop.c index 9ad1e64bf..e230fa29b 100644 --- a/packages/bun-usockets/src/loop.c +++ b/packages/bun-usockets/src/loop.c @@ -47,7 +47,7 @@ void us_internal_loop_data_free(struct us_loop_t *loop) { free(loop->data.recv_buf); - us_timer_close(loop->data.sweep_timer); + us_timer_close(loop->data.sweep_timer, 0); us_internal_async_close(loop->data.wakeup_async); } diff --git a/packages/bun-uws/capi/examples/Broadcast.c b/packages/bun-uws/capi/examples/Broadcast.c index dc6787349..ef1b09101 100644 --- a/packages/bun-uws/capi/examples/Broadcast.c +++ b/packages/bun-uws/capi/examples/Broadcast.c @@ -14,7 +14,7 @@ void uws_timer_close(struct us_timer_t *timer) struct timer_handler_data *data; memcpy(&data, us_timer_ext(t), sizeof(struct timer_handler_data *)); free(data); - us_timer_close(t); + us_timer_close(t, 0); } //Timer create helper struct us_timer_t *uws_create_timer(int ms, int repeat_ms, void (*handler)(void *data), void *data) @@ -47,7 +47,7 @@ struct us_timer_t *uws_create_timer(int ms, int repeat_ms, void (*handler)(void if (!data->repeat) { free(data); - us_timer_close(t); + us_timer_close(t, 0); } }, ms, repeat_ms); diff --git a/packages/bun-uws/capi/examples/HelloWorldAsync.c b/packages/bun-uws/capi/examples/HelloWorldAsync.c index b8549b07e..e22dd44c1 100644 --- a/packages/bun-uws/capi/examples/HelloWorldAsync.c +++ b/packages/bun-uws/capi/examples/HelloWorldAsync.c @@ -19,7 +19,7 @@ void uws_timer_close(struct us_timer_t *timer) struct timer_handler_data *data; memcpy(&data, us_timer_ext(t), sizeof(struct timer_handler_data *)); free(data); - us_timer_close(t); + us_timer_close(t, 0); } //Timer create helper struct us_timer_t *uws_create_timer(int ms, int repeat_ms, void (*handler)(void *data), void *data) @@ -52,7 +52,7 @@ struct us_timer_t *uws_create_timer(int ms, int repeat_ms, void (*handler)(void if (!data->repeat) { free(data); - us_timer_close(t); + us_timer_close(t, 0); } }, ms, repeat_ms); diff --git a/packages/bun-uws/capi/examples/UpgradeAsync.c b/packages/bun-uws/capi/examples/UpgradeAsync.c index 3dacd8c8e..8c6e73542 100644 --- a/packages/bun-uws/capi/examples/UpgradeAsync.c +++ b/packages/bun-uws/capi/examples/UpgradeAsync.c @@ -62,7 +62,7 @@ void uws_timer_close(struct us_timer_t *timer) struct timer_handler_data *data; memcpy(&data, us_timer_ext(t), sizeof(struct timer_handler_data *)); free(data); - us_timer_close(t); + us_timer_close(t, 0); } //Timer create helper struct us_timer_t *uws_create_timer(int ms, int repeat_ms, void (*handler)(void *data), void *data) @@ -95,7 +95,7 @@ struct us_timer_t *uws_create_timer(int ms, int repeat_ms, void (*handler)(void if (!data->repeat) { free(data); - us_timer_close(t); + us_timer_close(t, 0); } }, ms, repeat_ms); diff --git a/packages/bun-uws/examples/UpgradeAsync.cpp b/packages/bun-uws/examples/UpgradeAsync.cpp index 0c5301be4..045605831 100644 --- a/packages/bun-uws/examples/UpgradeAsync.cpp +++ b/packages/bun-uws/examples/UpgradeAsync.cpp @@ -90,7 +90,7 @@ int main() { delete upgradeData; - us_timer_close(t); + us_timer_close(t, 0); }, 5000, 0); }, diff --git a/packages/bun-uws/src/Loop.h b/packages/bun-uws/src/Loop.h index d3ca45b58..7311dd976 100644 --- a/packages/bun-uws/src/Loop.h +++ b/packages/bun-uws/src/Loop.h @@ -126,7 +126,7 @@ public: LoopData *loopData = (LoopData *) us_loop_ext((us_loop_t *) this); /* Stop and free dateTimer first */ - us_timer_close(loopData->dateTimer); + us_timer_close(loopData->dateTimer, 1); loopData->~LoopData(); /* uSockets will track whether this loop is owned by us or a borrowed alien loop */ |