summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * AMUtil: Wakeup of ppoll is now also triggered on addFdPollJens Lorenz2018-04-092-16/+17
| | | | | | | | Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
| * AMUtil: Fix startup sequence addFdPoll and removeFdPollJens Lorenz2018-04-092-4/+87
| | | | | | | | | | | | | | | | | | | | In case plugins add new fdpoll elements and directly removing them afterwards the state inside the structure will be changed to REMOVE. REMOVE will lead all the time to an erase which will not work in case the pointer is at .end() of vector or the element itself is not the correct one. Both cases will be fixed just by checking if the fd is the same. Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
| * AMUtil: Cleanup indents and whitespacesJens Lorenz2018-04-093-33/+34
| | | | | | | | Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
| * AMUtil: Rework of exception debug messagesJens Lorenz2018-04-091-13/+15
| | | | | | | | Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
| * AMUtil: ONLY timers will be closed in worker threadJens Lorenz2018-04-092-9/+18
| | | | | | | | | | | | | | The removeFDPoll API is extended to allow applications to close the fd by the central worker thread. Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
| * AMUtil: Rework of socketHandler to avoid calls of invalidated objectsJens Lorenz2018-04-094-219/+505
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch tries to follow the idea raised in PR26. Following two patches have been reworked: commit: cfe0e77aaf87a0590ceea42f6afa62b0c7d95e80 commit: bc33226f59910a960f62d419ba10d4ea761e3724 The biggest change applies to the internal database. Instead of having a vector for all items which will be copied inside the worker thread the new approach aims a central map which allows to store the sh_poll elements in containers. By this a container is valid until it is remove from map. The remove of items inside a map is now centralized within the worker and only the worker is responsible to keep the ppoll list and the map in sync. This patch also extends the unit tests to stress different timer scenarios. Signed-off-by: Aleksandar Donchev <Aleksander.Donchev@partner.bmw.de> Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
| * AMUtil: Change from mPipe to eventfdJens Lorenz2018-04-092-20/+41
| | | | | | | | | | | | This commit is the first commit of a rework of the CAmSochetHandler class. Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
| * AMUtil: Improve timer implementation and ensure that no fd leak happensJens Lorenz2018-04-092-48/+50
| | | | | | | | Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
| * AMUtil: Rework of listenToSignal and minor improvementsJens Lorenz2018-04-091-17/+15
| | | | | | | | Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
| * AMUtil: Improve actionPoll lambda implementation for signal and timerJens Lorenz2018-04-091-27/+45
| | | | | | | | Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
| * AMUtil: Test: Ensure that revents are tested in fire callbackJens Lorenz2018-04-091-2/+2
| | | | | | | | Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
| * AMUtil: Test: Lets check the return value of addTimerJens Lorenz2018-04-091-13/+14
| | | | | | | | Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
| * AMUtil: Test: Remove off-by-one problem for timer meas. and socket testsJens Lorenz2018-04-091-45/+39
| | | | | | | | Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
| * AMUtil: Test: Fix mExpected value range for 32-bitJens Lorenz2018-04-092-2/+2
| | | | | | | | | | | | | | The duration calculation for mExpected is not working. The playWithTimers oneshot test reported all times warnings. Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
| * CMAKE: Update option messageAleksandar Donchev2018-03-271-3/+1
| | | | | | | | Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
| * AMUtil: Test: Add macro to increase the loop count of serializer testsAleksandar Donchev2018-03-271-2/+5
| | | | | | | | Signed-off-by: Christian Linke <christian.linke@bmw.de>
| * AMUtil: Common API WrapperAleksandar Donchev2018-03-272-106/+124
| | | | | | | | | | | | | | | | | | All methods in CAPI wrapper with connectionID parameter are deprecated because CAPI creates new filedescriptor per connection which isn't needed. * revents flag is passed to the CommonAPI watcher instead events * revents set to 0 in Sockethandler Signed-off-by: Christian Linke <christian.linke@bmw.de>
| * AMUtil: Dlt init function returns now correctlyAleksandar Donchev2018-03-271-2/+3
|/ | | | Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
* Merge pull request #31 from gunnarx/sorted_indent_rulesGENIVI Audio Manager Maintainer2018-03-261-132/+144
|\ | | | | Sorted code style config file
| * Foo: Apply formatting changes as proposed in pr 28Gunnar Andersson2018-03-161-5/+17
| | | | | | | | | | | | | | | | Applied changes proposed by @JensLorenz in e2bc7099 except this time the lines are sorted for efficient diffing. Signed-off-by: Gunnar Andersson <gandersson@genivi.org>
| * Foo: Sort all the settings in the code style XMLGunnar Andersson2018-03-161-131/+131
|/ | | | | | | | | Sorting all lines (No changes to the settings). This is so that subsequent changes (may also need manual sorting) can be actually compared. It seemed on another change that Eclipse may move things around so that it's impossible to diff. Signed-off-by: Gunnar Andersson <gandersson@genivi.org>
* Merge pull request #30 from GENIVI/revert-26-utilityUpdates_CAPI_fixesGENIVI Audio Manager Maintainer2018-03-139-932/+429
|\ | | | | Revert "Utility updates capi fixes"
| * Revert "Utility updates capi fixes"revert-26-utilityUpdates_CAPI_fixesJens Lorenz2018-03-139-932/+429
|/
* Merge pull request #26 from GENIVI/utilityUpdates_CAPI_fixesGENIVI Audio Manager Maintainer2018-03-139-429/+932
|\ | | | | Utility updates capi fixes
| * Remainning fixes from utility updateutilityUpdates_CAPI_fixesDon Al2018-02-273-104/+114
| | | | | | | | | | Signed-off-by: Christian Linke <christian.linke@bmw.de> Change-Id: I3c8a2b474bc8fac62c76a46545a231c718edb2a9
| * The real-time scheduler removed.Aleksandar Donchev2018-02-137-62/+3
| | | | | | | | | | | | Signed-off-by: Christian Linke <christian.linke@bmw.de> Change-Id: I7c8a2c474bc8fac62c76a46545a231c518edb2a8
| * Cmake parameters for real-time scheduler's priority and policy and throw ↵Aleksandar Donchev2018-02-137-65/+120
| | | | | | | | | | | | | | | | runtime error if read fails. Signed-off-by: Christian Linke <christian.linke@bmw.de> Change-Id: I6a7a2c424bc8fac62c76a66545a231c518edb2e1
| * FIx for CAPI timeouts and support for more than one CAPI watchAleksandar Donchev2018-02-132-116/+198
| | | | | | | | | | Signed-off-by: Christian Linke <christian.linke@bmw.de> Change-Id: I9a9d2c424bc8fac62c76a66545a531c518edb2e3
| * Real time scheduler added, capi wrapper timeout return value considered in ↵Aleksandar Donchev2018-02-135-67/+90
| | | | | | | | | | | | | | registerTimeout, only requested revent passed from within the camsockethandler instead of all Signed-off-by: Christian Linke <christian.linke@bmw.de> Change-Id: I2d9d2c424ac3fac62c76a66545a531c518edb2e8
| * * All methods in CAPI wrapper with connectionID parameter are deprecated ↵Aleksandar Donchev2018-02-134-121/+119
| | | | | | | | | | | | | | | | | | | | | | because CommonAPI creates new filedescriptor per connection which isn't needed. * revents flag is passed to the CommonAPI watcher instead events * revents set to 0 in Sockethandler Signed-off-by: Christian Linke <christian.linke@bmw.de> Change-Id: I9d9d2c424ac9fad62c76a66545c731c518adb2e4
| * Runtime check for calls to the sockethandler from other threadsAleksandar Donchev2018-02-133-56/+99
| | | | | | | | | | | | Signed-off-by: Christian Linke <christian.linke@bmw.de> Change-Id: I9d9d3c424ac9fad62c76a76545c731b518bdb1e2
| * A filedescriptor removal will set an invalidation flag which will prevent ↵Aleksandar Donchev2018-02-133-44/+61
| | | | | | | | | | | | | | | | | | | | | | calls on the invalidated objects in the current iteration. Signed-off-by: Christian Linke <christian.linke@bmw.de> Change-Id: I9d5d3c434ac9fad62c76a76145c731b538aeb1e3 # Conflicts: # AudioManagerUtilities/src/CAmSocketHandler.cpp
| * Timer fd is closed at the beginning of the next iteration + some unit tests. ↵Aleksandar Donchev2018-02-135-44/+378
| | | | | | | | | | | | Signed-off-by: Christian Linke <christian.linke@bmw.de> Change-Id: I8c5d3c436ac9fad62c76a26145c731b538abb1e7
* | Merge pull request #25 from JensLorenz/version_and_doc_updateGENIVI Audio Manager Maintainer2018-02-26975-36121/+22169
|\ \ | |/ |/| Version and doc update
| * DOCS: Align documentation with version 7.6.6Jens Lorenz2018-02-13967-35915/+22139
| | | | | | | | Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
| * CMake: Implement VCS agnostic versioningJens Lorenz2018-02-136-61/+30
| | | | | | | | | | | | | | | | | | | | | | Versioning should not strictly depend on Version Control System (e.g. git). Best approach is to have a dedicated VERSION file exposing with format <Major>.<Minor>.<Revision>. Target is that maintainer will manually release the version once patches/fixes are merged e.g. to a stabilization branch. In order to have an OEM specific meta information exposed with the version information EXTRAVERSIONINFO can be specified by CMAKE flag. Signed-off-by: Guerra Mattia <mguerra@de.adit-jv.com>
| * README: Remove description related to telnetJens Lorenz2018-02-132-145/+0
|/ | | | Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
* Merge pull request #23 from JensLorenz/cmake_and_dlt_endless_loop_fixGENIVI Audio Manager Maintainer2018-02-073-195/+200
|\ | | | | Cmake and dlt endless loop fix
| * AmUtil: Check for valid timer handles to fix callback exceptionJens Lorenz2018-02-051-7/+11
| | | | | | | | | | | | | | | | | | In case plugins remove dbus timer callbacks at runtime a race might happen between the deletion of timer and the callback invocation. Now the timer callback function checks if the timer is valid before proceeding with the restart. Signed-off-by: Kapildev Patel <kpatel@jp.adit-jv.com>
| * AMUtil: Fixes infinite loop in dlt wrapper for out of range values of ↵Jens Lorenz2018-02-051-184/+183
| | | | | | | | | | | | enumerations. Signed-off-by: Kapildev Patel <kpatel@jp.adit-jv.com>
| * CMake: protect replacement of COMMIT_LISTJens Lorenz2018-02-051-4/+6
| | | | | | | | Signed-off-by: Guerra Mattia <mguerra@de.adit-jv.com>
* | Merge pull request #21 from JensLorenz/fixup_signalfd7.6GENIVI Audio Manager Maintainer2017-11-291-1/+16
|\ \ | | | | | | AMDaemon: set pthread_sigmask for signalfd
| * | AMDaemon: set pthread_sigmask for signalfdGuerra Mattia2017-11-071-1/+16
| |/ | | | | | | | | | | | | Sets the mask for potential spawned threads (e.g. DLT) so that they won't interfere with the implementation of signalfd Signed-off-by: Guerra Mattia <mguerra@de.adit-jv.com>
* | Merge pull request #19 from JensLorenz/socket_hndl_utility_fixGENIVI Audio Manager Maintainer2017-11-0716-344/+331
|\ \ | |/ |/| Different Issues Fixed
| * AMCore: remodel ctor Sender in Command and RoutingGuerra Mattia2017-09-294-224/+238
| | | | | | | | | | | | | | | | | | Moving plugin opening to a separate function, this gets rid of a memory writer behavior on ARM64 platforms, otherwise leading to a this pointer of lambda functions severely corrupted (only when compiling optimizations are enabled). Signed-off-by: Guerra Mattia <mguerra@de.adit-jv.com>
| * AMUtil: fix missed copy in list PollGuerra Mattia2017-09-291-13/+18
| | | | | | | | | | | | | | | | | | When copying the list of Poll fd, also the revents have to be copied. This is very important for AM Plugins which rely on revents in order to consume data. Without updating the revents, there's concrete risk of endless poll and general stuck situation. Signed-off-by: Guerra Mattia <mguerra@de.adit-jv.com>
| * CMake: add C in Project for ThreadsGuerra Mattia2017-09-291-1/+1
| | | | | | | | Signed-off-by: Guerra Mattia <mguerra@de.adit-jv.com>
| * AMUtil: use DLT API only when DLT is selectedGuerra Mattia2017-09-291-2/+5
| | | | | | | | | | | | | | | | Protecting access to DLT API dlt_user_is_logLevel_enabled by checking if destination is really meant to be DLT daemon. Otherwise, invalid DLT Context could be accessed. Signed-off-by: Guerra Mattia <mguerra@de.adit-jv.com>
| * CMake: Add pthread supportJens Lorenz2017-09-293-3/+5
| | | | | | | | | | | | | | If DLT is turned off, CAmDltWrapper needs linkage to pthread. Furthermore, CAmSerializer doesn't need to #include pthread. Signed-off-by: Guerra Mattia <mguerra@de.adit-jv.com>
| * AMUtil: Fix for destroy controller on rundownJens Lorenz2017-09-292-11/+20
| | | | | | | | | | | | | | | | | | On rundown the controller will be unloaded. In case the controller wasn't loaded successfully or the controller doesn't implement the destroy function the rundown of AudioManager crashed. Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>