| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Compiling the examples with GCC 4.7.2 fails with:
error: 'sleep_for' is not a member of 'std::this_thread'
General hints on the Internet [1, 2] explain the issue with
GCC 4.7.2. Hence, this commit adds the specific _GLIBCXX_USE_NANOSLEEP
definition that makes the compilation with GCC 4.7.2 possible.
[1]
http://stackoverflow.com/questions/12523122/what-is-glibcxx-use-nanosleep-all-about
[2]
http://stackoverflow.com/questions/4438084/stdthis-threadsleep-for-and-gcc
Signed-off-by: Lukas Bulwahn, BMW Car IT GmbH <Lukas.Bulwahn@bmw.de>
|
|
|
|
|
| |
requires an additional compile flag on FreeBSD. Therefore, a new
variable (OS_CXX_FLAGS) was introduced to allow setting OS-specific
compile flags and was set to "-pthread" for FreeBSD.
|
|
|
| |
Signed-off-by: Lukas Bulwahn, BMW Car IT GmbH <Lukas.Bulwahn@bmw.de>
|
|
|
| |
Signed-off-by: Lukas Bulwahn, BMW Car IT GmbH <Lukas.Bulwahn@bmw.de>
|
|
|
| |
Signed-off-by: Lukas Bulwahn, BMW Car IT GmbH <Lukas.Bulwahn@bmw.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When compile the sources with the bitbake/OpenEmbedded-Core tool
chain with versions bitbake: 1.23.1 and openembedded-core:
47d1fc9f5c38f3d092937c47bd4c2f45adaa7fe6, it fails when linking
with:
Linking CXX executable magic-cookies-test-client
/[...]/build/tmp-eglibc/sysroots/x86_64-linux/usr/libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.1/ld: CMakeFiles/magic-cookies-test-client.dir/test/magic-cookies-test-client.cpp.o: undefined reference to symbol 'pthread_key_delete@@GLIBC_2.4'
/[...]/build/tmp-eglibc/sysroots/qemuarm/lib/libpthread.so.0: error adding symbols: DSO missing from command line
This commit resolves the failure by explicitly searching for the
Threads library and linking it against the executable. It has been
successfully tested on Ubuntu Linux 14.04 and the above mentioned
tool chain.
The CMake manuals mention that this solution should also work on
other platforms, e.g., Windows, BSD and Mac OS X. However, due to
the unavailability of development environments for the other
platforms, this commit was not tested on them. The linking problem
only occurs for the magic-cookies-test-client executable, but not
with the other executables. It is probably mostly related to the
setup of the tool chain and the specific way of linking for the one
executable. However, the deeper cause for this failure remains
unclear.
Signed-off-by: Lukas Bulwahn, BMW Car IT GmbH <Lukas.Bulwahn@bmw.de>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The CMakeLists.txt had in most lines CRLF line endings (as
currently most files in this repository), but a few lines were
ending without CRLF.
This commit was produced by opening the file in the jEdit editor,
and saving it without any textual modification. Afterwards, I also
checked that the command 'unix2dos CMakeLists.txt' produces exactly
the same changes in the CMakeLists.txt.
Signed-off-by: Lukas Bulwahn, BMW Car IT GmbH <Lukas.Bulwahn@bmw.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current CMakeLists.txt file assumes that the project is built
within the source directory, e.g., in a subdirectory build (called
in-source build). When the user chooses the build directory to be at
a different location not within the source directory (called
out-of-source build), make fails with:
Linking CXX shared library libvsomeip.so
/usr/bin/ld: cannot open linker script file ../exportmap.gcc: No such file or directory
This commit changes the path of the exportmap.gcc to refer to the
source directory with the standard CMake variable
CMAKE_CURRENT_SOURCE_DIR [1], and this now allows in-source and
out-of-source builds.
The issue was discovered while creating a bitbake recipe for the
vSomeIP library. In recent versions of OpenEmbedded-Core/Yocto Poky,
the default build configuration for CMake projects are out-of-source
builds. Hence, this change in the CMakeLists.txt allows us to use
this default build configuration in the recipe without any further
ado.
[1] http://www.cmake.org/Wiki/CMake_Useful_Variables
Signed-off-by: Lukas Bulwahn, BMW Car IT GmbH <Lukas.Bulwahn@bmw.de>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Created a test program (magic-cookies-test-client) that sends messages
with correct (session 1, 3, 6, 7, B, C, D, F) and incorrect payload
(session 2, 4, 5, 8, 9, A, E). It is expected that you see responses for
the messages with the correct payload while the messages with the
incorrect payload have been ignored.
The test program needs to be run with
VSOMEIP_APPLICATION_NAME=client-sample and
VSOMEIP_CONFIGURATION_FILE=vsomeip-magic-cookies-client.xml.
The corresponding service (service-sample) must be run with
VSOMEIP_APPLICATION_NAME=service-sample and
VSOMEIP_CONFIGURATION_FILE=vsomeip-magic-cookies-service.xml.
Please note that the IP configuration must be adapted to the local
setting.
|
|
|
|
|
|
|
|
|
|
|
| |
Added configuration files for testing TCP/UDP communication.
Replaced buffer queue handling by passing shared pointer to avoid buffer
overwrites.
Extended clients sample: Sending is now done in an extra thread as
sleeping in a callback is a bad idea if the client hosts the routing
manager ;-).
TODO: Re-enable Magic Cookies for TCP
Finalitze Service Discovery
|
|\
| |
| |
| | |
https://asc-repo.bmwgroup.net/gerrit/ascgit017.vSomeIP into redesign
|
| |
| |
| | |
projects can include vsomeip headers correctly.
|
| |
| |
| |
| |
| |
| |
| | |
Renamed exportmap to reflect the fact that it is gcc-specific.
Adapted cmake-file to use the export map for gcc (Linux) only.
Adapted name of IP-option implementations
Commented recursive lambda function as clang complains about it not
being initialized and might be right.
|
|/
|
|
|
|
|
|
| |
environament variable or local file. Configuration file are searched in
the following order:
1. local file (./vsomeip.xml)
2. configuration from environment variable (VSOMEIP_CONFIGURATION_FILE)
3. default (/etc/vsomeip.xml)
|
|
|
|
|
|
|
|
| |
Changed the design of the service discovery: the service discovery is
now an extension to the routing manager implementation and thus lives in
the same thread. The change was done as the routing manager
implementation is the only component that knows about IP endpoints and
transferring this information to the proxies just to be able to combine
service discovery with a routing manager proxy is not feasible.
|
| |
|
|
|