Chasing a leak that looks like an EBT clock. Deleted some unneeded code and adding a missing JS free.
This commit is contained in:
parent
5e240de677
commit
e5ba51b80a
16
src/ssb.c
16
src/ssb.c
@ -287,7 +287,6 @@ typedef struct _tf_ssb_connection_t
|
|||||||
tf_ssb_blob_wants_t blob_wants;
|
tf_ssb_blob_wants_t blob_wants;
|
||||||
bool sent_clock;
|
bool sent_clock;
|
||||||
int32_t ebt_request_number;
|
int32_t ebt_request_number;
|
||||||
JSValue ebt_send_clock;
|
|
||||||
|
|
||||||
JSValue object;
|
JSValue object;
|
||||||
|
|
||||||
@ -1862,8 +1861,6 @@ static void _tf_ssb_connection_destroy(tf_ssb_connection_t* connection, const ch
|
|||||||
|
|
||||||
if (JS_IsUndefined(connection->object) && !connection->async.data && !connection->tcp.data && !connection->connect.data && connection->ref_count == 0)
|
if (JS_IsUndefined(connection->object) && !connection->async.data && !connection->tcp.data && !connection->connect.data && connection->ref_count == 0)
|
||||||
{
|
{
|
||||||
JS_FreeValue(ssb->context, connection->ebt_send_clock);
|
|
||||||
connection->ebt_send_clock = JS_UNDEFINED;
|
|
||||||
tf_free(connection->message_requests);
|
tf_free(connection->message_requests);
|
||||||
connection->message_requests = NULL;
|
connection->message_requests = NULL;
|
||||||
connection->message_requests_count = 0;
|
connection->message_requests_count = 0;
|
||||||
@ -3594,19 +3591,6 @@ void tf_ssb_connection_set_ebt_request_number(tf_ssb_connection_t* connection, i
|
|||||||
connection->ebt_request_number = request_number;
|
connection->ebt_request_number = request_number;
|
||||||
}
|
}
|
||||||
|
|
||||||
JSValue tf_ssb_connection_get_ebt_send_clock(tf_ssb_connection_t* connection)
|
|
||||||
{
|
|
||||||
JSContext* context = connection->ssb->context;
|
|
||||||
return JS_DupValue(context, connection->ebt_send_clock);
|
|
||||||
}
|
|
||||||
|
|
||||||
void tf_ssb_connection_set_ebt_send_clock(tf_ssb_connection_t* connection, JSValue send_clock)
|
|
||||||
{
|
|
||||||
JSContext* context = connection->ssb->context;
|
|
||||||
JS_FreeValue(context, connection->ebt_send_clock);
|
|
||||||
connection->ebt_send_clock = JS_DupValue(context, send_clock);
|
|
||||||
}
|
|
||||||
|
|
||||||
JSValue tf_ssb_get_disconnection_debug(tf_ssb_t* ssb, JSContext* context)
|
JSValue tf_ssb_get_disconnection_debug(tf_ssb_t* ssb, JSContext* context)
|
||||||
{
|
{
|
||||||
JSValue result = JS_NewObject(context);
|
JSValue result = JS_NewObject(context);
|
||||||
|
14
src/ssb.h
14
src/ssb.h
@ -819,20 +819,6 @@ int32_t tf_ssb_connection_get_ebt_request_number(tf_ssb_connection_t* connection
|
|||||||
*/
|
*/
|
||||||
void tf_ssb_connection_set_ebt_request_number(tf_ssb_connection_t* connection, int32_t request_number);
|
void tf_ssb_connection_set_ebt_request_number(tf_ssb_connection_t* connection, int32_t request_number);
|
||||||
|
|
||||||
/**
|
|
||||||
** Get the EBT clock for a connection.
|
|
||||||
** @param connection An SHS connection.
|
|
||||||
** @return The EBT clock.
|
|
||||||
*/
|
|
||||||
JSValue tf_ssb_connection_get_ebt_send_clock(tf_ssb_connection_t* connection);
|
|
||||||
|
|
||||||
/**
|
|
||||||
** Set the EBT clock for a connection.
|
|
||||||
** @param connection An SHS connection.
|
|
||||||
** @param send_clock The clock state.
|
|
||||||
*/
|
|
||||||
void tf_ssb_connection_set_ebt_send_clock(tf_ssb_connection_t* connection, JSValue send_clock);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
** Get whether the EBT clock has been sent for a connection.
|
** Get whether the EBT clock has been sent for a connection.
|
||||||
** @param connection An SHS connection.
|
** @param connection An SHS connection.
|
||||||
|
@ -875,6 +875,7 @@ static void _tf_ssb_rpc_ebt_replicate_send_clock_work(tf_ssb_connection_t* conne
|
|||||||
tf_ssb_db_get_latest_message_by_author(ssb, work->clock[i].id, &sequence, NULL, 0);
|
tf_ssb_db_get_latest_message_by_author(ssb, work->clock[i].id, &sequence, NULL, 0);
|
||||||
JS_SetPropertyStr(context, full_clock, work->clock[i].id, JS_NewInt64(context, sequence == -1 ? -1 : (sequence << 1)));
|
JS_SetPropertyStr(context, full_clock, work->clock[i].id, JS_NewInt64(context, sequence == -1 ? -1 : (sequence << 1)));
|
||||||
}
|
}
|
||||||
|
JS_FreeValue(context, in_clock);
|
||||||
}
|
}
|
||||||
|
|
||||||
JSValue json = JS_JSONStringify(context, full_clock, JS_NULL, JS_NULL);
|
JSValue json = JS_JSONStringify(context, full_clock, JS_NULL, JS_NULL);
|
||||||
@ -1025,7 +1026,6 @@ static void _tf_ssb_rpc_ebt_replicate(tf_ssb_connection_t* connection, uint8_t f
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* EBT clock. */
|
/* EBT clock. */
|
||||||
tf_ssb_connection_set_ebt_send_clock(connection, args);
|
|
||||||
if (!tf_ssb_connection_get_sent_clock(connection))
|
if (!tf_ssb_connection_get_sent_clock(connection))
|
||||||
{
|
{
|
||||||
_tf_ssb_rpc_ebt_replicate_send_clock(connection, request_number, in_clock);
|
_tf_ssb_rpc_ebt_replicate_send_clock(connection, request_number, in_clock);
|
||||||
|
Loading…
Reference in New Issue
Block a user