Teamtrack ID (Bug/RFE/Task):
BUG84173: loggerd sending FWConfig log with empty model name on license change
Root Cause (Bug) or Purpose (RFE/Task):
The loggerd is a single thread. So once it sends a synchronous request to other daemon, it can't process any message before receiving the corresponding response until it is timeout.
When license changes, the configd will send some logs to loggerd through synchronous socket during processing configurations which include the event of WGAPI_EVENT_PASSWD_CHANGE.
When the loggerd receives this event, it will get model name from configd. At the same time, the configd maybe is sending logs to loggerd during its normal running.
This case results that configd and loggerd wait for each response message from the other side. In a certain sense, it is deallock until the loggerd is timeout.
Solution:
The configd uses non-blocking socket for sending logs to loggerd.