Compare commits

...

13 Commits

Author SHA1 Message Date
Hongcai Deng 9864bd39be
Merge a16fde8070 into 795b328bd6 2025-11-23 15:45:45 -05:00
vazmin 795b328bd6 gh actions: upgrade to 1.0.83-1 2025-11-23 10:47:37 +00:00
vazmin ac5f4a584f gh actions: upgrade to 1.0.83-1 2025-11-23 10:00:00 +00:00
vazmin c044906e63 gh actions: upgrade to 1.0.83-1 2025-11-23 09:05:57 +00:00
YuQing ccc84945d3 INSTALL changed 2025-11-18 14:47:17 +08:00
YuQing c4b6f1fcb5 upgrade version to 1.0.83 2025-11-16 17:00:25 +08:00
YuQing 017ca1efe7 comment out useless codes 2025-11-16 16:54:16 +08:00
YuQing 71b2229427 fast_task_queue.h: remove field finish_callback 2025-11-15 11:13:15 +08:00
YuQing 446fa6b815 libfastcommon.spec: correct expr statement 2025-11-12 16:39:36 +08:00
YuQing 98948c11bf downgrade required liburing from V2.5 to V2.4 2025-11-12 10:28:44 +08:00
YuQing d60b141a21 upgrade version to 1.0.82 2025-11-09 19:00:41 +08:00
YuQing 86bab518c6 remove compile warning under RockLinux 10 2025-11-09 18:19:20 +08:00
Hongcai Deng a16fde8070 fix: compile error when build .so using .a
```
src/libfastcommon.a(hash.o): relocation R_X86_64_32 against `.data' can not be used when making a shared object; recompile with -fPIC
```

env: Ubuntu 14.04, gcc 4.8
2017-01-29 14:20:18 +08:00
8 changed files with 45 additions and 16 deletions

View File

@ -1,4 +1,7 @@
Version 1.83 2025-11-15
* fast_task_queue.h: remove field finish_callback
Version 1.82 2025-11-04 Version 1.82 2025-11-04
* set use_io_uring explicitly * set use_io_uring explicitly

View File

@ -21,5 +21,5 @@ Debian, Ubuntu etc.:
# the command lines as: # the command lines as:
git clone https://github.com/happyfish100/libfastcommon.git git clone https://github.com/happyfish100/libfastcommon.git
cd libfastcommon; git checkout V1.0.81 cd libfastcommon; git checkout V1.0.83
./make.sh clean && ./make.sh && sudo ./make.sh install ./make.sh clean && ./make.sh && sudo ./make.sh install

18
debian/changelog vendored
View File

@ -1,3 +1,21 @@
libfastcommon (1.0.83-1) unstable; urgency=medium
* upgrade to 1.0.83-1
-- YuQing <384681@qq.com> Sun, 23 Nov 2025 10:47:37 +0000
libfastcommon (1.0.83-1) unstable; urgency=medium
* upgrade to 1.0.83-1
-- YuQing <384681@qq.com> Sun, 23 Nov 2025 10:00:00 +0000
libfastcommon (1.0.83-1) unstable; urgency=medium
* upgrade to 1.0.83-1
-- YuQing <384681@qq.com> Sun, 23 Nov 2025 09:05:57 +0000
libfastcommon (1.0.78-1) unstable; urgency=medium libfastcommon (1.0.78-1) unstable; urgency=medium
* upgrade to 1.0.78-1 * upgrade to 1.0.78-1

View File

@ -3,7 +3,7 @@
%define CommitVersion %(echo $COMMIT_VERSION) %define CommitVersion %(echo $COMMIT_VERSION)
Name: libfastcommon Name: libfastcommon
Version: 1.0.81 Version: 1.0.83
Release: 1%{?dist} Release: 1%{?dist}
Summary: c common functions library extracted from my open source projects FastDFS Summary: c common functions library extracted from my open source projects FastDFS
License: LGPL License: LGPL
@ -19,10 +19,10 @@ Requires: %__cp %__mv %__chmod %__grep %__mkdir %__install %__id
%define kernel_major %(uname -r | cut -d'.' -f1) %define kernel_major %(uname -r | cut -d'.' -f1)
%define kernel_minor %(uname -r | cut -d'.' -f2) %define kernel_minor %(uname -r | cut -d'.' -f2)
%define kernel_ver_int %(expr %{kernel_major} \* 100 + %{kernel_minor}) %define kernel_ver_int %(expr %{kernel_major} \\* 100 + %{kernel_minor})
%if %{kernel_ver_int} >= 514 %if %{kernel_ver_int} >= 514
BuildRequires: liburing-devel >= 2.5 BuildRequires: liburing-devel >= 2.4
Requires: liburing >= 2.5 Requires: liburing >= 2.4
%endif %endif
%description %description

View File

@ -66,7 +66,7 @@ libfastcommon.a: $(FAST_STATIC_OBJS)
.c: .c:
$(COMPILE) -o $@ $< $(FAST_STATIC_OBJS) $(LIB_PATH) $(INC_PATH) $(COMPILE) -o $@ $< $(FAST_STATIC_OBJS) $(LIB_PATH) $(INC_PATH)
.c.o: .c.o:
$(COMPILE) -c -o $@ $< $(INC_PATH) $(COMPILE) -c -fPIC -o $@ $< $(INC_PATH)
.c.lo: .c.lo:
$(COMPILE) -c -fPIC -o $@ $< $(INC_PATH) $(COMPILE) -c -fPIC -o $@ $< $(INC_PATH)
install: install:

View File

@ -37,7 +37,6 @@ struct nio_thread_data;
struct fast_task_info; struct fast_task_info;
typedef int (*ThreadLoopCallback) (struct nio_thread_data *pThreadData); typedef int (*ThreadLoopCallback) (struct nio_thread_data *pThreadData);
typedef int (*TaskFinishCallback) (struct fast_task_info *task);
typedef void (*TaskCleanUpCallback) (struct fast_task_info *task); typedef void (*TaskCleanUpCallback) (struct fast_task_info *task);
typedef int (*TaskInitCallback)(struct fast_task_info *task, void *arg); typedef int (*TaskInitCallback)(struct fast_task_info *task, void *arg);
typedef void (*TaskReleaseCallback)(struct fast_task_info *task); typedef void (*TaskReleaseCallback)(struct fast_task_info *task);
@ -149,7 +148,6 @@ struct fast_task_info
struct fc_list_head dlink; //for polling queue struct fc_list_head dlink; //for polling queue
} polling; //for RDMA busy polling } polling; //for RDMA busy polling
TaskContinueCallback continue_callback; //for continue stage TaskContinueCallback continue_callback; //for continue stage
TaskFinishCallback finish_callback;
struct nio_thread_data *thread_data; struct nio_thread_data *thread_data;
struct sf_network_handler *handler; //network handler for libserverframe nio struct sf_network_handler *handler; //network handler for libserverframe nio
struct fast_task_info *next; //for free queue and deleted list struct fast_task_info *next; //for free queue and deleted list

View File

@ -145,10 +145,7 @@ static void deal_timeouts(FastTimerEntry *head)
/* must set NULL because NOT in time wheel */ /* must set NULL because NOT in time wheel */
current->prev = current->next = NULL; current->prev = current->next = NULL;
pEventEntry = (IOEventEntry *)current; pEventEntry = (IOEventEntry *)current;
if (pEventEntry != NULL) pEventEntry->callback(pEventEntry->fd, IOEVENT_TIMEOUT, current);
{
pEventEntry->callback(pEventEntry->fd, IOEVENT_TIMEOUT, current);
}
} }
} }
@ -243,7 +240,7 @@ int ioevent_loop(struct nio_thread_data *thread_data,
} }
if (thread_data->deleted_list != NULL) { if (thread_data->deleted_list != NULL) {
count = 0; //count = 0;
while (thread_data->deleted_list != NULL) { while (thread_data->deleted_list != NULL) {
task = thread_data->deleted_list; task = thread_data->deleted_list;
thread_data->deleted_list = task->next; thread_data->deleted_list = task->next;
@ -257,7 +254,7 @@ int ioevent_loop(struct nio_thread_data *thread_data,
} }
} }
clean_up_callback(task); clean_up_callback(task);
count++; //count++;
} }
//logInfo("cleanup task count: %d", count); //logInfo("cleanup task count: %d", count);
} }

View File

@ -1636,16 +1636,29 @@ static inline int fc_ltostr_ex(int64_t n, char *buff, const int padding_len)
return len; return len;
} }
#if defined(OS_LINUX) && defined(__GNUC__) && __GNUC__ >= 8
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstringop-overflow"
#endif
fill_len = padding_len - len; fill_len = padding_len - len;
memmove(buff + fill_len, buff, len + 1); memmove(buff + fill_len, buff, len + 1);
memset(buff, '0', fill_len); memset(buff, '0', fill_len);
#if defined(OS_LINUX) && defined(__GNUC__) && __GNUC__ >= 8
#pragma GCC diagnostic pop
#endif
return padding_len; return padding_len;
} }
static inline int fc_ltostr(int64_t n, char *buff) static inline int fc_ltostr(int64_t n, char *buff)
{ {
const int padding_len = 0; int len;
return fc_ltostr_ex(n, buff, padding_len);
len = fc_itoa(n, buff);
*(buff + len) = '\0';
return len;
} }
static inline size_t fc_strlcpy(char *dest, const char *src, const size_t size) static inline size_t fc_strlcpy(char *dest, const char *src, const size_t size)