Opened 9 years ago

Closed 9 years ago

#10099 closed Bug Report - General (fixed)

Frontend/LcdServer communication

Reported by: David Matthews <dm@…> Owned by: beirdo
Priority: minor Milestone: 0.25
Component: MythTV - Mythlcdserver Version: Master Head
Severity: medium Keywords:
Cc: Ticket locked: no


Communication between the front-end and the LCD server seems to be broken in git head so actions in the front-end don't get displayed on the LCD. It looks like the problem stems from a change to the constructor for MythSocketDevice? which creates a real socket only if it is creating a UDP socket. TCP sockets, according to the comment are deferred to the "connect". The problem with that is that LCD::connectToHost calls setCallbacks before it calls connect and MythSocketThread::AddToReadyRead? doesn't work if the socket is unset. The work-around is to comment out the "if (type == Datagram)" in MSocketDevice::MSocketDevice.


Change History (3)

comment:1 Changed 9 years ago by beirdo

Owner: changed from Jarod Wilson to beirdo
Status: newassigned

comment:2 Changed 9 years ago by beirdo

Version: UnspecifiedTrunk Head

comment:3 Changed 9 years ago by Github

Milestone: 0.25
Resolution: fixed
Status: assignedclosed

Fix initialization of MSocketDevice class

Fixes #10099.

If we open a TCP socket, we were trying to AddToReadyRead? before even creating the socket, so TCP sockets would fail (such as the one to the LCD daemon). Also cleaned up the lcddevice call to create the socket to just use the ctor for MythSocket?.

Branch: master Changeset: 77b3f72eaacc88e086ce7ae3501278bd829ce9f8

Note: See TracTickets for help on using tickets.