木头云
0d53a3cdb1
Add FreeBSD platform support ( fixes #156 )
...
- Add IPC_OS_FREEBSD_ platform detection macro
- Enable FreeBSD to use POSIX pthread implementation (shared with QNX)
- Update all conditional compilation directives to include FreeBSD
- Update README to reflect FreeBSD platform support
FreeBSD uses the existing POSIX implementation which supports:
- Process-shared mutexes (PTHREAD_PROCESS_SHARED)
- Robust mutexes (PTHREAD_MUTEX_ROBUST)
- Timed lock operations
- POSIX shared memory
This is a minimal change that reuses the mature POSIX implementation
already proven by QNX platform support.
2025-11-29 10:55:54 +00:00
Craig Carnell
72c4b5abc4
mingw: use lower case windows.h
2025-11-17 09:56:49 +00:00
mutouyun
a1cdc9a711
In non-broadcast mode, connection tags are only used for counting.
2025-05-10 15:14:39 +08:00
yongke liu
87b1fa4abc
Fixed issue 107 and 123, receiver check connection when pop msg failed, and call reconnect function when the connection check result is false
2025-05-09 17:10:07 +08:00
johnwongx
a6c7c8542f
修复连接槽满判断错误
2025-04-23 13:15:39 +08:00
Aengus.Jiang
06d4aec320
posix shm open 失败时如果文件不存在打印log #2 修改逻辑错误
2025-03-07 12:33:42 +08:00
Aengus.Jiang
d69093462a
open的时候不存在共享内存,则返回false,没有必要报错
2025-03-07 11:36:57 +08:00
mutouyun
2673453e66
Try to fix permission issues under linux
2024-12-01 21:06:06 +08:00
mutouyun
84bb801b6e
Try to fix a communication problem caused by different permissions under linux
2024-12-01 19:53:40 +08:00
mutouyun
5e5b347636
Complete the implementation of the clean interface and add unit tests
2024-12-01 19:06:50 +08:00
mutouyun
28fdf17279
Added cleanup interfaces for ipc chan
2024-12-01 17:49:34 +08:00
mutouyun
17dcde92bf
Added clear_storage for quieue
2024-12-01 17:49:34 +08:00
mutouyun
ab90437e44
Added a cleanup interface for waiter.
2024-12-01 17:49:34 +08:00
mutouyun
e1f377d7f6
Added a cleanup interface for the synchronization facilities
2024-11-17 17:39:03 +08:00
mutouyun
29678f1d41
Added a cleanup interface for queue
2024-11-17 17:36:09 +08:00
mutouyun
5071fb5db6
Added a cleanup interface for shared memory handles
2024-11-17 17:35:29 +08:00
mutouyun
805490605e
refactor: improve emplace construction for shm_data in mutex.h
2024-05-25 17:33:33 +08:00
abathur puppe
025311d5f6
fix emplace construction for shm_data. Previous required copy constructor
2024-05-25 17:32:31 +08:00
winsoft666
035d76d5aa
Update CMakeLists.txt
2023-12-10 21:07:18 +08:00
winsoft666
144b2db9ca
Add PACKAGE_VERSION
2023-12-10 21:07:18 +08:00
winsoft666
c4280efd5f
Add cpp-ipc-targets
2023-12-10 21:07:18 +08:00
mutouyun
ac54be7083
reconnect cannot reconnect when you are out of authority
2023-10-28 16:44:16 +08:00
mutouyun
a3b0a968f8
回滚多余的修改
2023-10-28 16:44:16 +08:00
mutouyun
fafa5e85f7
Fixed memory access exception in multithreading.
2023-10-28 16:44:16 +08:00
mutouyun
c74f78ea08
统一字符串有效性判断
2023-10-28 16:44:16 +08:00
mutouyun
cf72d0293a
The global sender could not be obtained due to different prefixes.
2023-10-28 16:44:16 +08:00
mutouyun
fab3f6fffe
Add a user interface with a custom name prefix.
2023-10-28 16:44:16 +08:00
mutouyun
16b138d6af
Check illegal parameter.
2023-10-28 16:44:16 +08:00
mutouyun
ec14e81ffd
Identify the user group and add the appropriate prefix to the names.
2023-10-28 16:44:16 +08:00
mutouyun
22a253a72f
Supplement similar demo under linux.
2023-10-28 16:44:16 +08:00
mutouyun
e229f78a15
Windows services can communicate with common processes.
2023-10-28 16:44:16 +08:00
mutouyun
7981a1cbc1
disable warning C4858
2023-10-28 16:44:16 +08:00
木头云
6111722534
fix: the receiver of channel will hang after disconnect
2023-05-14 14:11:54 +08:00
mutouyun
2a2b626210
补充遗漏的初始化
2023-02-25 16:30:11 +08:00
mutouyun
162011d4b4
修正全局变量初始化时序问题导致的内存访问异常
2023-02-25 16:30:11 +08:00
木头云
f25668c4c2
Update CMakeLists.txt
2022-01-08 23:23:45 +08:00
木头云
5eebaeb4ee
Update mutex.h
2022-01-08 23:18:30 +08:00
木头云
15b572b7ed
Update condition.h
2022-01-08 23:18:05 +08:00
mutouyun
de9c965046
compile error for qnx
2022-01-07 22:52:34 +08:00
mutouyun
534870b824
qnx
2022-01-05 09:37:36 +08:00
mutouyun
1f65fc9832
compile error
2022-01-02 17:56:05 +08:00
mutouyun
2e35ab7685
Added QNX support
2022-01-02 17:54:07 +08:00
mutouyun
51828c2f7b
Temporarily turn off 'smu' and 'mmu' modes because there are bugs in them
2022-01-02 17:24:08 +08:00
mutouyun
3344bbf799
impl robust mutex & condition (using alephzero's mtx implementation)
2021-10-23 19:06:33 +08:00
mutouyun
d946ad0948
modify interface of sync.condition
2021-10-23 17:27:08 +08:00
mutouyun
4ddc1d0a3d
adjust directory paths
2021-10-23 17:18:23 +08:00
木头云
74e871e6e4
warning: enumeral and non-enumeral type in conditional expression
2021-10-14 22:37:22 +08:00
mutouyun
a457a8975f
using 'signal' to quit waiting explicitly
2021-09-21 13:09:59 +08:00
mutouyun
7a536b6e9c
impl quit_waiting
2021-09-20 22:18:27 +08:00
mutouyun
b8f5e2ba6f
validate close in waiter
2021-09-20 22:03:36 +08:00
mutouyun
ed8b1fd608
fix some bugs for linux-mutex
2021-09-20 20:31:08 +08:00
mutouyun
a9cb81bee9
missing file
2021-09-20 16:05:35 +08:00
mutouyun
04fda1cc3d
use sync to refactor waiter
2021-09-20 15:59:44 +08:00
mutouyun
c1ceaa657a
实现condition_win
2021-09-19 22:26:32 +08:00
mutouyun
0cccdac868
merge issue-61; add condition for linux
2021-09-19 17:21:39 +08:00
mutouyun
4ca300b3e5
Merge branch 'issue-61' into develop
2021-09-19 16:29:31 +08:00
mutouyun
be6f16f87f
revert some changes
2021-09-19 16:29:06 +08:00
mutouyun
843770442c
避免wait_if的counter因为ABA问题导致计数错误
2021-09-17 22:25:53 +08:00
mutouyun
91385d727a
修正recv中断后counter无法下降的问题;添加新的示例
2021-09-17 22:01:34 +08:00
mutouyun
baf645eea1
修正 recv timeout 接口cpu占用过高的问题
2021-09-16 23:49:01 +08:00
mutouyun
ca9c5d10da
ut for sem-linux
2021-09-12 22:05:08 +08:00
mutouyun
1994243bec
fix: semaphore() noexcept is implicitly deleted
2021-09-12 21:58:57 +08:00
木头云
cd4b28380c
Update semaphore_linux.h
2021-09-12 21:51:08 +08:00
mutouyun
d37a6740ea
add ut for sync::semaphore
2021-09-12 21:48:22 +08:00
mutouyun
d0e2a4d80c
add semaphore for win
2021-09-12 15:59:44 +08:00
mutouyun
415be36477
ipc::sync::mutex for linux
2021-09-11 15:52:48 +08:00
mutouyun
1dc0419865
ignore invalid id print in get_ref
2021-08-29 13:58:34 +08:00
木头云
78be14be37
Merge branch 'develop' into master
2021-08-29 11:05:24 +08:00
mutouyun
8bc418ebc7
set_target_properties version
2021-08-15 13:55:11 +08:00
mutouyun
3c7e94a167
modify cmakelists options
2021-08-15 13:23:43 +08:00
mutouyun
c9d92b5364
CP_ACP => CP_UTF8
2021-08-15 12:40:32 +08:00
mutouyun
df8bca22c3
codecvt_utf8_utf16/std::wstring_convert is deprecated
2021-08-07 18:33:45 +08:00
winsoft666
cc7b52ae8f
Update INSTALL directory.
2021-07-30 18:37:52 +08:00
winsoft666
df8452206a
Set target output directory
2021-07-30 18:28:54 +08:00
winsoft666
43179d6ea0
Add USE_STATIC_CRT option to support static CRT(/MT).
2021-07-30 17:50:02 +08:00
mutouyun
faa2f10e3a
target_include_directories
2021-07-12 22:26:58 +08:00
mutouyun
1bb96fe2f1
update chunk_storage_info
2021-07-11 23:01:36 +08:00
mutouyun
d0f965359d
recycle storage for large message
2021-07-11 15:56:30 +08:00
mutouyun
57a62bc073
fix some bugs
2021-07-11 13:13:31 +08:00
mutouyun
e3c8f8edc1
adjust test, chunk_storages revert to static
2021-07-11 13:13:31 +08:00
mutouyun
349094561f
horrible_cast
2021-07-11 13:13:31 +08:00
mutouyun
628914d428
try to adjust recycling strategy for large message cache
2021-07-11 13:13:30 +08:00
mutouyun
98a3449865
fix some bugs, adjust the test cases
2021-07-11 13:13:30 +08:00
mutouyun
7bedfbfb5b
fix: large message cache may not be recycled with multiple receivers
2021-07-11 13:11:24 +08:00
mutouyun
69e1586b5a
remove tls
2021-07-10 14:22:31 +08:00
mutouyun
cca4664e84
option(LIBIPC_BUILD_SHARED_LIBS 'Build shared libraries (DLLs).' OFF)
2021-07-10 13:50:46 +08:00
mutouyun
d74f4c5609
fix: mutex() noexcept is implicitly deleted
2021-06-21 00:06:17 +08:00
mutouyun
dd29ed5d1f
fix errors
2021-06-21 00:02:48 +08:00
mutouyun
40eafcfd2a
fix errors
2021-06-21 00:00:11 +08:00
mutouyun
d974641a07
for vs2015 error C3256
2021-06-20 23:50:39 +08:00
mutouyun
455c0b479d
add sync::mutex for windows/linux
2021-06-20 23:50:39 +08:00
mutouyun
12944502a1
Revert "update IPC_CONCEPT_"
...
This reverts commit 1e5547e6dfd0605fa62be67899c6c893aa61f9fc.
2021-06-20 23:50:39 +08:00
mutouyun
8cd2a40bfd
update IPC_CONCEPT_
2021-06-20 23:50:39 +08:00
mutouyun
f07fc84cb8
add options for cmake
2021-06-05 18:39:31 +08:00
Gang Liang
4f5e150c61
Add install statements for headers and libipc
2021-05-23 10:54:10 -07:00
木头云
a85199d2d4
Update ipc.cpp
...
fix bug: id == invalid_value not processed.
2021-05-07 16:47:49 +08:00
木头云
9aab0d4f21
Update ipc.cpp
...
Optimizes the number of handles to the large message cache.
2021-05-07 16:03:33 +08:00
木头云
d6ab58fc6f
add make_align for size alignment
2021-05-07 15:41:32 +08:00
木头云
a4a7b85f47
static_alloc is used by default
2021-05-07 15:35:10 +08:00
mutouyun
a7bec6348b
格式调整
2021-01-10 14:45:17 +08:00