Missing resolv.conf causes MT_NET SET_IPV4 to hang
|Status:||Closed||Start date:||20 Oct 2019|
|Target version:||PiBox - 1.1.0 - Upgrades|
|Severity:||01 - Critical|
If /etc/resolv.conf then a valid MT_NET/SET_IPV4 can hang piboxd preventing any further requests to come in. libpnc needs to test for /etc/resolv.conf and create it if it doesn't exist.
#1 Updated by Hammel about 1 year ago
- Status changed from New to In Progress
- % Done changed from 0 to 30
This problem is not related to procesisng resolv.conf via libpnc. The error message that raised this issue was appropriate and correct. The real problem is that piboxd's updates for thread management in queueProcessor.c are wrong. I should be using a semaphore instead of mutex so I can have the queueProcessor handle each message that the msgProcessor queues without possibly missing any.
#2 Updated by Hammel about 1 year ago
- Status changed from In Progress to Closed
- % Done changed from 30 to 100
Switched both piboxd and appmgr to use semaphores instead of pthread condition variables for inbound network messages. That way each message that comes in can be accounted for and none will be lost due to race conditions seen while using pthread condition variables.
Verified working on hardware (both Ironman and Media System). Committed and pushed.