Bill Torpey
ca8e30ed48
fixes for UBSAN warnings ( #4223 )
...
Problem: UBSAN shows warnings
Solution: fix alignment issues and signed to unsigned conversion
2021-06-29 13:02:35 +01:00
Simon Giesecke
495fb00b7e
Problem: pointee types are unnecessarily non-const
...
Solution: add const where possible
2020-02-04 18:34:19 +01:00
Simon Giesecke
41e3f14d6a
Problem: ptr/ref parameters and local variables are non-const but never modified
...
Solution: add const
2020-01-27 10:38:00 +01:00
Simon Giesecke
9e2cf35b66
Reduced number of calls to container end method
2018-08-09 12:41:08 +02:00
Luca Boccassi
3a1e8f0704
Merge pull request #3159 from sigiesec/remove-superfluous-mutex
...
Problem: epoll_t employs an unnecessary mutex
2018-06-07 14:17:20 +01:00
Simon Giesecke
75e945f162
Problem: epoll_t employs an unnecessary mutex
...
Solution: remove the mutex
2018-06-06 21:41:16 +02:00
KIU Shueng Chuan
5a1ea0c398
Problem: ZMQ_USE_EPOLL_CLOEXEC not renamed to new name
...
Solution: rename it
2018-06-04 23:17:57 +08:00
Simon Giesecke
d767909b50
Problem: old C-style casts used
...
Solution: replace by static_cast/reinterpret_cast
2018-05-27 13:24:07 +02:00
Simon Giesecke
e3c73d9881
Problem: inconsistent naming style for private data members, conflicts with naming of local variables and member functions
...
Solution: apply and check _lower_case naming style for private data members
2018-05-27 13:24:07 +02:00
Simon Giesecke
082b6aa641
Problem: epoll not supported under Windows
...
Solution: Use wepoll on Windows
2018-05-23 16:25:07 +02:00
Simon Giesecke
d326434b37
Problem: API poller cannot be set independently from I/O thread poller, poll I/O thread poller broken on Windows
...
Solution: change platform definitions to separate API poller from I/O thread poller, disallow configuring poll I/O thread poller on Windows
2018-05-22 18:36:04 +02:00
Simon Giesecke
e8e24030ea
Problem: network initialization and shutdown functions not available for
...
reuse
Solution: extract into functions defined in ip.hpp
Problem: signaler_t::make_fdpair not reusable
Solution: move make_fdpair to ip.hpp
Problem: epoll worker with no fds cannot be stopped
Solution: use interruptible epoll_pwait call
Problem: insufficient unit tests for poller
Solution: add test cases
2018-02-13 18:38:17 +01:00
Simon Giesecke
f87d3ab294
Problem: pollers unnecessarily depend on whole ctx_t, but actually use only start_thread method
...
Solution: extract thread_ctx_t from ctx_t
2018-02-11 17:25:36 +00:00
sigiesec
41f459e1dc
Problem: formatting inconsistent
...
Solution: applied clang-format
2018-02-02 15:47:43 +01:00
Luca Boccassi
211898d243
Problem: epoll leaks socket on fork+exec
...
Solution: if available, use epoll_create1 with EPOLL_CLOEXEC flag to
make the process close the socket on fork+exec
2016-12-26 19:08:27 +01:00
Justin.Hung
52ebffd715
avoid crashing in the multi-thread operation for std::vector
...
1. stl container is not thread safety
2. rm_fd() and loop() end to clear the retired event source will in multi-thread operation
3. may be crashed in reaper thread to delete the items in the std::vector as the source is nullptr
2016-12-05 09:28:05 +08:00
Luca Boccassi
e46d91d41f
Problem: PR #2236 breaks the build
...
Solution: Revert "avoid crashing in the multi-thread operation for std::vector"
This reverts commit e1368bdac804a49de101725ede1f900aebe82c10.
2016-12-03 22:10:19 +00:00
Justin.Hung
e1368bdac8
avoid crashing in the multi-thread operation for std::vector
...
1. stl container is not thread safety
2. rm_fd() and loop() end to clear the retired event source will in multi-thread operation
3. may be crashed in reaper thread to delete the items in the std::vector as the source is nullptr
2016-12-02 17:33:13 +08:00
Osiris
4a5af9d58b
Problem: Precompiled headers not being used
...
Solution: Phase I - make precompiled.hpp be first file included in every source file
2016-02-18 10:56:52 -06:00
Constantin Rack
a539b0c6e8
Problem: copyright year is still 2015
...
Solution: update to 2016
2016-01-28 15:07:31 +01:00
Joe Eli McIlvain
33419425eb
Problem: Private/internal macros defined in public header.
...
Solution: Move the macros to a private header.
2015-08-21 16:12:22 -07:00
reza.ebrahimi
1621c25ef0
define a macro for heap object deletion in a unified manner (related to issue #1524 )
2015-08-17 00:35:11 +04:30
Pieter Hintjens
8620c3e032
Problem: source file headers are somewhat confusing about LGPLv3
...
Of course people still "can" distributed the sources under the
LGPLv3. However we provide COPYING.LESSER with additional grants.
Solution: specify these grants in the header of each source file.
2015-06-02 22:33:55 +02:00
Pieter Hintjens
94d9a4ffdf
Problem: copyright statements are out of date
...
Solution: update for 2015
Fixes #1320
2015-01-22 10:32:37 +01:00
Joel Lauener
219310b4f0
Thread scheduling parameters: Use ZMQ context options instead of
...
environment variables.
2014-07-02 14:41:21 +02:00
Pieter Hintjens
b3b9e046ee
Updated copyright statements for 2014
2014-01-02 12:00:57 +01:00
Richard Newton
7a510b4b60
Fix formatting.
2013-11-07 17:50:29 +00:00
Richard Newton
568cc1adaa
Get maximum number of sockets it can handle from poller_t
2013-11-07 17:46:19 +00:00
Pieter Hintjens
f0f16505e5
Removed corporate advertisements from source file headers
...
Copyrights had become ads for Sustrik's corporate sponsors, going against the original
agreement to share copyrights with the community (that agreement was: one line stating
iMatix copyright + one reference to AUTHORS file). The proliferation of corporate ads
is also unfair to the many individual authors. I've removed ALL corporate title from
the source files so the copyright statements can now be centralized in AUTHORS and
source files can be properly updated on an annual basis.
2013-03-12 13:24:57 +01:00
Martin Hurton
9013ee0d52
Minor code cleanup
2012-11-13 13:06:29 +01:00
Martin Sustrik
8e21d64c97
Copyright dates adjusted to reflect reality
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-01 18:06:11 +01:00
Martin Sustrik
ac7717b7b3
250bpm copyrights added
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-10-31 16:20:30 +01:00
Martin Sustrik
f716b571ba
Only one polling mechanism is compiled
...
Till now wrappers for all the polling mechanisms available on
the given platform were compiled, although only one of them
was used. This patch compiles just the used one. This can
make libzmq binary more concise.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-07-24 18:13:29 +02:00
Martin Sustrik
18b9ebea32
The copyrights in file headers updated.
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-03-02 16:30:40 +01:00
Martin Sustrik
43e8868875
Added explicit error message in case of memory exhaustion
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-22 16:23:36 +01:00
Martin Sustrik
56bdba592c
Fix cppcheck warnings: Prefer prefix ++/-- operators for non-primitive types.
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-01-18 15:57:45 +01:00
Martin Sustrik
b358df9fff
Name of "GNU Lesser Public License" corrected.
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-30 15:08:28 +02:00
Mikko Koppanen
3e74a439c4
Cast execute_timers() result to int
...
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2010-10-15 11:21:56 +02:00
Martin Sustrik
238640a526
timers properly implemented
2010-09-26 21:42:23 +02:00
Martin Sustrik
8d7bf6684c
common base for all pollers created; the only thing it handles at the moment is 'load'
2010-09-26 19:22:33 +02:00
Martin Sustrik
cf815e8c78
new interfaces for timers; the implementation is not changed yet
2010-09-26 18:30:03 +02:00
Martin Sustrik
4f6baf4dde
Copyrights transferred from FastMQ to iMatix
2010-01-05 08:29:35 +01:00
Martin Sustrik
8aa0908635
all news converted to nothrow variant
2009-12-15 23:49:55 +01:00
Martin Sustrik
4efe2366d7
poller is a concept now rather than virtualised class
2009-10-02 10:46:36 +02:00
Martin Sustrik
5b5b513330
socket options interface modeled as in BSD sockets
2009-08-09 09:24:48 +02:00
Martin Sustrik
0b5cc026fb
clean up - session/socket/engine stuff removed
2009-08-06 12:51:32 +02:00
Martin Sustrik
cc3755a16f
renamed from zs to zmq
2009-08-03 11:30:13 +02:00
Martin Sustrik
4ed70a9302
initial commit
2009-07-29 12:07:54 +02:00