summaryrefslogtreecommitdiff
path: root/src/components/transport_manager/src/usb/libusb/usb_handler.cc
Commit message (Collapse)AuthorAgeFilesLines
* Fix formatting for logs after logger overhaul (#3554)Jacob Keeler2020-10-231-4/+0
| | | | | * Fix formatting for logs after logger overhaul Co-authored-by: Shobhit Adlakha <ShobhitAd@users.noreply.github.com>
* Fix/usb handler thread safe stop (#3492)Andrii Kalinich (GitHub)2020-10-061-2/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Wait for UsbHandler thread end in UsbHandler dtor The Thread dedicated for handling libusb events should exit successfully on it's own. This guarantees that `libusb_close()` being called on all devices, as well as `libusb_exit()` call is properly sequenced. Thread exits in recommended by libusb doc way: 1. set exit flag 2. deregister hotplug callbacks, which will wake up `libusb_handle_events()` once again. But this commit changes the way the Thread being joined. It ensures that `join()` is called with `kNoStop` flag, which prevents force stop using `pthread_cancel()`. * Using atomic bool for shutdown_requested_ flag Making UsbHandler::shutdown_requested_ flag atomic to guarantee mutual access to it. exchange() call is needed for helgrind to feel sure that there is no data race. * Remove redundant DCHECK This assertion has been exposed by the current fix
* [SDL 0046] Implement logger abstraction (#3472)VladSemenyuk2020-09-011-92/+80
| | | | | | | | | | | | | | | | | | | | | | | | * Implement logger abstraction. Integrate it to SDL. Create one logger instance for shared libraries * Rename all logger macros. * Update src/components/application_manager/rpc_plugins/rc_rpc_plugin/src/resource_allocation_manager_impl.cc Co-authored-by: Shobhit Adlakha <ShobhitAd@users.noreply.github.com> * Fix review comments(errors in log messages) * Fix review coments * Fix code style * Add logger variable creation to new commads * Fix review comment * Fixe review comment(class imblemtation moved to .cc file) Co-authored-by: Shobhit Adlakha <ShobhitAd@users.noreply.github.com>
* Fix avoid race conditions (#3471)Serhii Niukalov (GitHub)2020-08-211-3/+3
| | | | | | | | | | | | | | * Introduced enums instead multiple bool flags Update threadFunc logic Update Start logic Update Stop logic Update Join logic * Update of the affected code * UTs update Co-authored-by: sniukalov <sniukaov@luxoft.com>
* Reworked usb handler delegate completion (#3121)Andriy Byzhynar (GitHub)2019-11-181-5/+15
|
* Fix shutdown crash static var colission (#2939)Alexander Kutsan (GitHub)2019-08-221-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add apropriate destruction of plugins Add Delete exported function to each rpc plugin library Delete funciton will destroy Plugin instance. Move type defenition of PluginPtr to Plugin manager, because other components should use olugins only by referance. Add custom destructor for PluginPtr. custom destructor will call `Delete` function from shared library for plugin instance and unload plugin dl_handle. Deprecate GetPlugins method because it not used (and actualy shouldnt) by other components. Refactored LoadPlugin function, make it more readable, make this function as private RPCPluginManagerImpl private method. * Fix components dependencies after hiding libraries symbols * Add `-fvisibility=hidden` to avoid collision of static variables Remove from ABI all shared objects members except functions that needed. Fixes double destruction crash on shutdown. For the case if dynamically linked library contains same static variables as binary. System allocates the same memory for both static variables (in shared object and in binary). But during exit both binary and shared object destroying this memory. Mostly is a specific for binaries generated by gcc compiler. Inspired by https://stackoverflow.com/questions/3570355/c-fvisibility-hidden-fvisibility-inlines-hidden http://gcc.gnu.org/wiki/Visibility * Link Policy code statically SDL components like Application manager Connection Handler, etc ... requires symbols from policy library. Also policy library loaded by SDL in run-time as shared library. Having same library loaded as dynamic and shared library is definitely bad idea. This commit link extract static policy component and link policy component statically to other components. * Static linkage of plugins code un plugins unit tests Unit tests need to be portable and should not depend from dynamic libraries * Put logs_enabled_ "default" visibility attribute Logs enables is static variable and it should be shared across libraries. On SDL start if set_enabled_logs should put value shared across libraries * Changed the order of destruction of objects Changed the order of destruction of objects to avoid the crash during destruction of the RequestController. * Change the order of the waiting and finishing thread Applications using hotplug support should stop the thread at program exit and wait finishing thread after calling libusb_hotplug_deregister_callback. This call wakes up libusb_handle_events () http://libusb.sourceforge.net/api-1.0/group__libusb__asyncio.html * fixup! Add apropriate destruction of plugins * Make saftly usage of logger Added usage unique_ptr for LogMessageLoopThread to avoid the crash when delete_log_message_loop_thread was not fired.
* Run updated style scriptjacobkeeler2019-04-291-3/+3
|
* Format all code in projectKozoriz2016-04-261-90/+132
| | | | | | | | | | Formated all code in appMain, components, plugins to correct coding-style Used clang-format-3.6 Used 2 commands : find src/appMain/ -name "*.h" -o -name "*.cc" -o -name "*.hpp" -o -name "*.cpp" | xargs clang-format-3.6 -i -style=file find src/components/ -name "*.h" -o -name "*.cc" -o -name "*.hpp" -o -name "*.cpp" | xargs clang-format-3.6 -i -style=file find src/plugins/ -name "*.h" -o -name "*.cc" -o -name "*.hpp" -o -name "*.cpp" | xargs clang-format-3.6 -i -style=file
* Fixed wrong logger name for TransportManagerElisey Zamakhov2015-12-181-1/+1
| | | | Issues: APPLINK-19597, APPLINK-19603
* Add proper logger naming for TM classesAleksandr Galiuzov2015-10-071-1/+1
|
* Bug Fixes and ImprovementsSynchronizationCommitJustin Dickow2015-02-201-23/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix Empty perform iteration request Fix type of name from string to enum SendLocation implemented on HTML5 HMI Fixed PI response on VR rejection due to high priority. Fix Apps not responsive/not able to start app/apps remain listed on SYNC even after USB disconnect Mobile API change and processing capabilities Change perform interaction request conditions. Fix SDL must always start 3sec timer before resuming the HMILevel of the app Remove redundant StartSavePersistentDataTimer() call. Change wrong predicate name to right. Added stream request handling feature Made streaming timeout in media manager configurable Put navi app in LIMITED in case of phone call Handling of audio state for applications Add stop streaming timeout into ini file Implement HMILevel resumption for job-1 Fix result code ABORTED when interrupts it by Voice recognition activation Fix incorrect value parameter unexpectedDisconnect in BCOnAppUnregistered Fix SDL send BC.OnAppUnregistered with "unexpectedDisconnect" set to "true" in case received from HMI OnExitAllApplications {"reason":"MASTER_RESET"} Fix Update ini file for iAP1 support Current working directory added to image path Fix helpers to make it workable with more then 2 parameters DCHECK() for ManageMobileCommand() replaced with log message because the latter returns false in some regular situations (e.g. TOO_MANY_PENDING_REQUESTS, see SDLAQ-CRS-10) Remove connection after closing. Signed-off-by: Justin Dickow <jjdickow@gmail.com>
* Latest internal release - last bulk merge before pull request and gitflow!?Justin Dickow2015-01-261-29/+23
| | | | | | Smoke tested on Ubuntu 12.04 Signed-off-by: Justin Dickow <jjdickow@gmail.com>
* HmiStatus modifyJustin Dickow2015-01-241-23/+29
| | | | | | | | | | | | | | | | HU DCHECK occurs during multisession registration Remove unused variable SIGSEGV handler added to flush logger queue FixIncomplete device list in UpdateDeviceList request Fix Memory leak on PutFile break Fix Thread and Timer Fix OnHmiStatus Notification Fix Url array sending for endpoints. Fix HashChange Fix SDL parse incoming JSON message with both members error and result as success message Fix Core crashes while connecting mobile app Signed-off-by: Justin Dickow <jjdickow@gmail.com>
* SDL 3.8!Justin Dickow2014-10-201-0/+474
Signed-off-by: Justin Dickow <jjdickow@gmail.com>