Bug #721

Missing resolv.conf causes MT_NET SET_IPV4 to hang

Added by Hammel 11 months ago. Updated 11 months ago.

Status:ClosedStart date:20 Oct 2019
Priority:ImmediateDue date:
Assignee:Hammel% Done:

100%

Category:-
Target version:PiBox - 1.1.0 - Upgrades
Severity:01 - Critical

Description

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.


Related issues

Blocks PiBox - Bug #712: Fix thread management in all apps Closed 26 Jun 2019

History

#1 Updated by Hammel 11 months 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 11 months 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.

Closing issue.

Also available in: Atom PDF