Compare commits

..

8 Commits

Author SHA1 Message Date
YuQing 6a658d3ea6 upgrade version to 1.2.12 2026-03-13 15:08:41 +08:00
YuQing 7b154e3b32 get use_io_uring from config file 2026-01-18 11:39:02 +08:00
vazmin 4adf6b3227 gh actions: upgrade to 1.2.11-1 2025-11-23 10:48:22 +00:00
vazmin f4a799402e gh actions: upgrade to 1.2.11-1 2025-11-23 10:00:56 +00:00
vazmin 27510e9641 gh actions: upgrade to 1.2.11-1 2025-11-23 09:06:43 +00:00
YuQing 848077797b upgrade version to 1.2.11 2025-11-16 17:01:06 +08:00
YuQing d22f9da49c bugfixed: MUST call sf_hold_task in sf_nio_notify for rare case 2025-11-16 15:29:38 +08:00
YuQing 5495455fa7 do NOT call task->finish_callback 2025-11-15 11:14:14 +08:00
5 changed files with 41 additions and 10 deletions

18
debian/changelog vendored
View File

@ -1,3 +1,21 @@
libserverframe (1.2.11-1) unstable; urgency=medium
* upgrade to 1.2.11-1
-- YuQing <384681@qq.com> Sun, 23 Nov 2025 10:48:22 +0000
libserverframe (1.2.11-1) unstable; urgency=medium
* upgrade to 1.2.11-1
-- YuQing <384681@qq.com> Sun, 23 Nov 2025 10:00:56 +0000
libserverframe (1.2.11-1) unstable; urgency=medium
* upgrade to 1.2.11-1
-- YuQing <384681@qq.com> Sun, 23 Nov 2025 09:06:43 +0000
libserverframe (1.2.8-1) unstable; urgency=medium libserverframe (1.2.8-1) unstable; urgency=medium
* upgrade to 1.2.8-1 * upgrade to 1.2.8-1

2
debian/substvars vendored
View File

@ -1 +1 @@
libfastcommon:Version=1.0.78 libfastcommon:Version=1.0.83

View File

@ -2,7 +2,7 @@
%define CommitVersion %(echo $COMMIT_VERSION) %define CommitVersion %(echo $COMMIT_VERSION)
Name: libserverframe Name: libserverframe
Version: 1.2.10 Version: 1.2.12
Release: 1%{?dist} Release: 1%{?dist}
Summary: network framework library Summary: network framework library
License: AGPL v3.0 License: AGPL v3.0
@ -12,9 +12,9 @@ Source: http://github.com/happyfish100/libserverframe/%{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: libfastcommon-devel >= 1.0.82 BuildRequires: libfastcommon-devel >= 1.0.84
Requires: %__cp %__mv %__chmod %__grep %__mkdir %__install %__id Requires: %__cp %__mv %__chmod %__grep %__mkdir %__install %__id
Requires: libfastcommon >= 1.0.82 Requires: libfastcommon >= 1.0.84
%description %description
common framework library common framework library

View File

@ -671,7 +671,9 @@ int sf_load_context_from_config_ex(SFContext *sf_context,
int outer_port; int outer_port;
int port; int port;
#if IOEVENT_USE_URING #if IOEVENT_USE_URING
bool global_use_io_uring;
bool global_use_send_zc; bool global_use_send_zc;
bool use_io_uring;
bool use_send_zc; bool use_send_zc;
#endif #endif
int i; int i;
@ -711,6 +713,15 @@ int sf_load_context_from_config_ex(SFContext *sf_context,
} }
#if IOEVENT_USE_URING #if IOEVENT_USE_URING
global_use_io_uring = iniGetBoolValue(NULL, "use_io_uring",
config->ini_ctx.context, false);
if (config->ini_ctx.section_name == NULL) {
use_io_uring = global_use_io_uring;
} else {
use_io_uring = iniGetBoolValue(config->ini_ctx.section_name,
"use_io_uring", config->ini_ctx.context, global_use_io_uring);
}
global_use_send_zc = iniGetBoolValue(NULL, "use_send_zc", global_use_send_zc = iniGetBoolValue(NULL, "use_send_zc",
config->ini_ctx.context, true); config->ini_ctx.context, true);
if (config->ini_ctx.section_name == NULL) { if (config->ini_ctx.section_name == NULL) {
@ -766,7 +777,11 @@ int sf_load_context_from_config_ex(SFContext *sf_context,
} }
#if IOEVENT_USE_URING #if IOEVENT_USE_URING
sf_context->use_io_uring = (config->comm_type == fc_comm_type_sock); if (config->comm_type == fc_comm_type_sock) {
sf_context->use_io_uring = use_io_uring;
} else {
sf_context->use_io_uring = false;
}
sf_context->use_send_zc = sf_context->use_io_uring ? use_send_zc : false; sf_context->use_send_zc = sf_context->use_io_uring ? use_send_zc : false;
#else #else
sf_context->use_io_uring = false; sf_context->use_io_uring = false;

View File

@ -137,11 +137,6 @@ void sf_socket_close_connection(struct fast_task_info *task)
void sf_task_finish_clean_up(struct fast_task_info *task) void sf_task_finish_clean_up(struct fast_task_info *task)
{ {
if (task->finish_callback != NULL) {
task->finish_callback(task);
task->finish_callback = NULL;
}
release_iovec_buffer(task); release_iovec_buffer(task);
sf_task_detach_thread(task); sf_task_detach_thread(task);
@ -549,6 +544,7 @@ int sf_nio_notify(struct fast_task_info *task, const int stage)
} }
} }
sf_hold_task(task); //since 1.2.11
PTHREAD_MUTEX_LOCK(&task->thread_data->waiting_queue.lock); PTHREAD_MUTEX_LOCK(&task->thread_data->waiting_queue.lock);
task->notify_next = NULL; task->notify_next = NULL;
if (task->thread_data->waiting_queue.tail == NULL) { if (task->thread_data->waiting_queue.tail == NULL) {
@ -638,6 +634,7 @@ void sf_recv_notify_read(int fd, const int event, void *arg)
__sync_bool_compare_and_swap(&task->nio_stages.notify, __sync_bool_compare_and_swap(&task->nio_stages.notify,
stage, SF_NIO_STAGE_NONE); stage, SF_NIO_STAGE_NONE);
} }
sf_release_task(task); //since 1.2.11
} }
} }
@ -1304,6 +1301,7 @@ static int sock_write_done(struct fast_task_info *task,
if (SF_CTX->callbacks.send_done(task, if (SF_CTX->callbacks.send_done(task,
length, &next_stage) != 0) length, &next_stage) != 0)
{ {
ioevent_add_to_deleted_list(task);
return -1; return -1;
} }