Merge pull request #722 in SNORT/snort3 from appid_stl_thread_safety to master
Squashed commit of the following:
commit
991eb29ae7f85b1e9e1b72f334eb96536c568b10
Author: davis mcpherson <davmcphe.cisco.com>
Date: Wed Nov 23 14:09:00 2016 -0500
use std::lock_guard to manage life cycle of mutex ownership when accessing app info tables.
commit
a09a573489bf2b69930b6aa58006699fd3ab0681
Author: davis mcpherson <davmcphe.cisco.com>
Date: Wed Nov 23 10:33:49 2016 -0500
add lock around read accesses to app info tables. there is a single lock that is global to all app info tables, more granular locking on a per table basis may be implemented in the future to improve performance
remove caching AppIdServiceIDState object pointers in the AppIdSession object. The service state object may get deleted without the knowledge of appid sessions that have cached the pointer. For now a get using the ip/port/protocol tuple of the destination is used to get the service state object. This is short term solution until a move to the host cache can be implemented.