Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -991,6 +991,8 @@ set(cxx-sources
select.cpp
server.cpp
session_base.cpp
shm_engine.cpp
shm_state.cpp
signaler.cpp
socket_base.cpp
socks.cpp
Expand Down Expand Up @@ -1126,6 +1128,11 @@ set(cxx-sources
select.hpp
server.hpp
session_base.hpp
shm_channel.hpp
shm_engine.hpp
shm_fd.hpp
shm_ring.hpp
shm_state.hpp
signaler.hpp
socket_base.hpp
socket_poller.hpp
Expand Down Expand Up @@ -1620,6 +1627,9 @@ if(BUILD_SHARED)
inproc_lat
inproc_thr
proxy_thr)
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
list(APPEND perf-tools shm_pair_thr)
endif()

if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug") # Why?
option(WITH_PERF_TOOL "Build with perf-tools" ON)
Expand Down
33 changes: 32 additions & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,13 @@ src_libzmq_la_SOURCES = \
src/server.hpp \
src/session_base.cpp \
src/session_base.hpp \
src/shm_channel.hpp \
src/shm_engine.cpp \
src/shm_engine.hpp \
src/shm_fd.hpp \
src/shm_ring.hpp \
src/shm_state.cpp \
src/shm_state.hpp \
src/signaler.cpp \
src/signaler.hpp \
src/socket_base.cpp \
Expand Down Expand Up @@ -397,6 +404,11 @@ noinst_PROGRAMS = \
perf/inproc_thr \
perf/proxy_thr

if ON_LINUX
noinst_PROGRAMS += \
perf/shm_pair_thr
endif

perf_local_lat_LDADD = src/libzmq.la
perf_local_lat_SOURCES = perf/local_lat.cpp

Expand All @@ -418,6 +430,9 @@ perf_inproc_thr_SOURCES = perf/inproc_thr.cpp
perf_proxy_thr_LDADD = src/libzmq.la
perf_proxy_thr_SOURCES = perf/proxy_thr.cpp

perf_shm_pair_thr_LDADD = src/libzmq.la
perf_shm_pair_thr_SOURCES = perf/shm_pair_thr.cpp

if ENABLE_STATIC
noinst_PROGRAMS += \
perf/benchmark_radix_tree
Expand Down Expand Up @@ -1010,12 +1025,28 @@ tests_test_security_gssapi_CPPFLAGS = ${TESTUTIL_CPPFLAGS}
endif

if ON_LINUX
test_apps += tests/test_abstract_ipc
test_apps += \
tests/test_abstract_ipc \
tests/test_pair_shm \
tests/test_shm_channel \
tests/test_shm_ring

tests_test_abstract_ipc_SOURCES = tests/test_abstract_ipc.cpp
tests_test_abstract_ipc_LDADD = ${TESTUTIL_LIBS} src/libzmq.la
tests_test_abstract_ipc_CPPFLAGS = ${TESTUTIL_CPPFLAGS}

tests_test_pair_shm_SOURCES = tests/test_pair_shm.cpp
tests_test_pair_shm_LDADD = ${TESTUTIL_LIBS} src/libzmq.la
tests_test_pair_shm_CPPFLAGS = ${TESTUTIL_CPPFLAGS}

tests_test_shm_channel_SOURCES = tests/test_shm_channel.cpp
tests_test_shm_channel_LDADD = ${TESTUTIL_LIBS} src/libzmq.la
tests_test_shm_channel_CPPFLAGS = ${TESTUTIL_CPPFLAGS}

tests_test_shm_ring_SOURCES = tests/test_shm_ring.cpp
tests_test_shm_ring_LDADD = ${TESTUTIL_LIBS} src/libzmq.la
tests_test_shm_ring_CPPFLAGS = ${TESTUTIL_CPPFLAGS}

# TODO: gets stuck even with long timeout running under Github Actions
if !VALGRIND_ENABLED
test_apps += tests/test_socks
Expand Down
5 changes: 5 additions & 0 deletions include/zmq.h
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,10 @@ ZMQ_EXPORT int zmq_msg_init (zmq_msg_t *msg_);
ZMQ_EXPORT int zmq_msg_init_size (zmq_msg_t *msg_, size_t size_);
ZMQ_EXPORT int zmq_msg_init_data (
zmq_msg_t *msg_, void *data_, size_t size_, zmq_free_fn *ffn_, void *hint_);
ZMQ_EXPORT int
zmq_shm_msg_init (void *s_, zmq_msg_t *msg_, size_t size_);
ZMQ_EXPORT int
zmq_shm_msg_send (zmq_msg_t *msg_, void *s_, int flags_);
ZMQ_EXPORT int zmq_msg_send (zmq_msg_t *msg_, void *s_, int flags_);
ZMQ_EXPORT int zmq_msg_recv (zmq_msg_t *msg_, void *s_, int flags_);
ZMQ_EXPORT int zmq_msg_close (zmq_msg_t *msg_);
Expand Down Expand Up @@ -353,6 +357,7 @@ ZMQ_EXPORT const char *zmq_msg_gets (const zmq_msg_t *msg_,
/* Message options */
#define ZMQ_MORE 1
#define ZMQ_SHARED 3
#define ZMQ_SHM 4

/* Send/recv options. */
#define ZMQ_DONTWAIT 1
Expand Down
Loading
Loading