View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0003359||1 - Backlog||Maintenance||public||2019-06-16 10:49||2020-07-16 04:27|
|Priority||normal||Severity||minor||Reproducibility||have not tried|
|Summary||0003359: CBusyFlag class in HRDStation implementation is flawed|
The CBusyFlag class in the HRDStation implementation has several flaws.
1) It spins by doing Sleep(0)
2) It locks by manipulating a BOOL that's not marked "volatile"
3) It doesn't use memory barriers or flushes, and probably has unexpected cache interactions
4) It is used in incorrect double-check locking patterns
It "probably works most of the time", but should be re-written or replaced to be reliable.
|Steps To Reproduce||The implementation of this class is found in HRDStationLicense.cpp|
|Tags||No tags attached.|
|Module||SW License Mgmt|
|Sub-Module||SW License Client|