aboutsummaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/bun-inspector-protocol/src/util/preview.ts5
-rw-r--r--packages/bun-types/bun.d.ts2
-rw-r--r--packages/bun-usockets/src/eventing/epoll_kqueue.c18
-rw-r--r--packages/bun-usockets/src/libusockets.h2
-rw-r--r--packages/bun-usockets/src/loop.c2
-rw-r--r--packages/bun-uws/capi/examples/Broadcast.c4
-rw-r--r--packages/bun-uws/capi/examples/HelloWorldAsync.c4
-rw-r--r--packages/bun-uws/capi/examples/UpgradeAsync.c4
-rw-r--r--packages/bun-uws/examples/UpgradeAsync.cpp2
-rw-r--r--packages/bun-uws/src/Loop.h2
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 */