Attempt to clean up requests for tunnel connections that are going away.

git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4018 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
2022-11-07 02:57:29 +00:00
parent b12f8f9da8
commit 3a5ae4c228
4 changed files with 17 additions and 10 deletions

View File

@ -483,7 +483,7 @@ static JSValue _tf_ssb_rpc_more(JSContext* context, JSValueConst this_val, int a
JS_ToInt32(context, &request_number, request_val);
JS_FreeValue(context, request_val);
tf_ssb_connection_add_request(connection, -request_number, _tf_ssb_on_rpc, _tf_ssb_cleanup_value, JS_VALUE_GET_PTR(JS_DupValue(context, argv[0])));
tf_ssb_connection_add_request(connection, -request_number, _tf_ssb_on_rpc, _tf_ssb_cleanup_value, JS_VALUE_GET_PTR(JS_DupValue(context, argv[0])), NULL);
JS_FreeValue(context, connection_val);
return JS_UNDEFINED;
@ -970,8 +970,6 @@ static JSValue _tf_ssb_tunnel(JSContext* context, JSValueConst this_val, int arg
int32_t request_number1 = 0;
JS_ToInt32(context, &request_number1, argv[3]);
printf("TUNNEL %p %d <=> %p %d\n", connection0, request_number0, connection1, request_number1);
tunnel_t* data0 = tf_malloc(sizeof(tunnel_t));
*data0 = (tunnel_t)
{
@ -985,10 +983,8 @@ static JSValue _tf_ssb_tunnel(JSContext* context, JSValueConst this_val, int arg
.request_number = request_number0,
};
printf("ADD REQUEST %p %d\n", connection0, request_number0);
printf("ADD REQUEST %p %d\n", connection1, request_number1);
tf_ssb_connection_add_request(connection0, request_number0, _tf_ssb_tunnel_rpc_callback, _tf_ssb_tunnel_cleanup, data0);
tf_ssb_connection_add_request(connection1, request_number1, _tf_ssb_tunnel_rpc_callback, _tf_ssb_tunnel_cleanup, data1);
tf_ssb_connection_add_request(connection0, request_number0, _tf_ssb_tunnel_rpc_callback, _tf_ssb_tunnel_cleanup, data0, connection1);
tf_ssb_connection_add_request(connection1, request_number1, _tf_ssb_tunnel_rpc_callback, _tf_ssb_tunnel_cleanup, data1, connection0);
return JS_UNDEFINED;
}