| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Martin Koch <martin.koch@ese.de>
|
|
|
|
| |
inline redirection for getListDelegatePoiters on V1
|
|
|
|
|
|
|
| |
CAmDelegagePtr > CAmDelegatePtr
mListDelegatePoiters > mListDelegatePointers
getListDelegatePoiters > getListDelegatePointersSize
(for getListDelegatePoiters inline redirection is added for downward compatibility)
|
|
|
|
|
|
|
|
|
|
|
|
| |
logging architecture.
- Known side-effect: CAmSerializer.h and TAmPluginTemplate.h no longer indirectly include
dlt_user.h. Thus macros like DLT_DECLARE_CONTEXT and DLT_IMPORT_CONTEXT
may be undefined in application code unless CAmDltWrapper.h or dlt_user.h is included explicitly.
- Since the DLT functionality is now encapsulated inside a dedicated class, such declaration is
usually superfluous and can be dropped.
Signed-off-by: Martin Koch <mkoch@de.adit-jv.com>
|
|
|
|
| |
Signed-off-by: Martin Koch <mkoch@de.adit-jv.com>
|
|
|
|
| |
Signed-off-by: Martin Koch <mkoch@de.adit-jv.com>
|
|
|
|
|
|
| |
each logging channel (DLT, file or stdout) and a channel-independent wrapper class. (first preparation step of AM for build without strong dependency to DLT library)
Signed-off-by: Martin Koch <mkoch@de.adit-jv.com>
|
|
|
|
|
|
|
|
|
| |
Fix infinite loop in CAmDltWrapper by logging out enum values exceeding the boundaries.
Minor changes: Pull request 36
changed implementation to database macros (review comments)
added option "WITH_DATABASE_CHANGE_CHECK" to audiomanagerconfig.h.in
whitespace cleanup in test/AmMapHandlerTest/CAmMapHandlerTest.cpp
additional cast to uint in DB_UPDATE call in function removeMainConnectionDB to solve error in macro expansion
|
|
|
|
| |
Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
|
|
|
|
| |
Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In case someone removed a fd and closed it opened a new one and added it
to the socket handler the container state of the object in map was
changed from either REMOVE/CLOSE to UNINIT.
This leads to the emplace call in the fdPollingArray vector and the fd
is maintained twice. Over the entire runtime there will be zombie fds
provided to ppoll functions which will race a POLLERR revent leading to
100% cpu load.
Also the CLOSE state is now removed because only the application is aware
if a fd has to be closed. For instance calling add/remove in a loop were
start_listenting is not running will turn to a system issue were no fds
can be provided by the operation system.
Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
|
|
|
|
| |
Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
|
|
|
|
| |
Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
|
|
|
|
|
|
|
| |
It is not an error in case the requested fdpoll is not part of the
internal database. I just worth to print a warning here.
Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
|
|
|
|
| |
Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
|
|
|
|
| |
Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
|
|
|
|
| |
Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
This commit is the first commit of a rework of the CAmSochetHandler class.
Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
|
|
|
|
| |
Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
|
|
|
|
| |
Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
|
|
|
|
| |
Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
|
|
|
|
| |
Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
|
|
|
|
| |
Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
|
|
|
|
| |
Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Christian Linke <christian.linke@bmw.de>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Jens Lorenz <jlorenz@de.adit-jv.com>
|
| |
|
|
|
|
|
| |
Signed-off-by: Christian Linke <christian.linke@bmw.de>
Change-Id: I3c8a2b474bc8fac62c76a46545a231c718edb2a9
|
|
|
|
|
|
| |
Signed-off-by: Christian Linke <christian.linke@bmw.de>
Change-Id: I7c8a2c474bc8fac62c76a46545a231c518edb2a8
|
|
|
|
|
|
|
|
| |
runtime error if read fails.
Signed-off-by: Christian Linke <christian.linke@bmw.de>
Change-Id: I6a7a2c424bc8fac62c76a66545a231c518edb2e1
|
|
|
|
|
| |
Signed-off-by: Christian Linke <christian.linke@bmw.de>
Change-Id: I9a9d2c424bc8fac62c76a66545a531c518edb2e3
|
|
|
|
|
|
|
| |
registerTimeout, only requested revent passed from within the camsockethandler instead of all
Signed-off-by: Christian Linke <christian.linke@bmw.de>
Change-Id: I2d9d2c424ac3fac62c76a66545a531c518edb2e8
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Signed-off-by: Christian Linke <christian.linke@bmw.de>
Change-Id: I9d9d3c424ac9fad62c76a76545c731b518bdb1e2
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Signed-off-by: Christian Linke <christian.linke@bmw.de>
Change-Id: I8c5d3c436ac9fad62c76a26145c731b538abb1e7
|
|\
| |
| | |
Cmake and dlt endless loop fix
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| | |
enumerations.
Signed-off-by: Kapildev Patel <kpatel@jp.adit-jv.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|/
|
|
|
|
|
| |
With these changes AudioManager would call destroy function of the
controller plugin at the time of shutdown.
Signed-off-by: Kapildev Patel <kpatel@jp.adit-jv.com>
|