I wrote an lcdproc client (in C) to drive a HD44780 character LCD over i2c on a raspberry pi3 as localhost. It works great mostly except for getting an ocassional SIGPIPE (closed socket). The SIGPIPE on the stand alone client process isn't any big deal. I can use systemctl to auto-restart it when it exits with SIGPIPE.
What I want to do is use a named pipe to pass an integer variable from a seperate process to my client. The problem is that it also causes the the process to crash with a SIGPIPE when the client crashes due to lose of connection.
My question is, is there some known way to modify the LCDd server without using sockets to talk to it?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I wrote an lcdproc client (in C) to drive a HD44780 character LCD over i2c on a raspberry pi3 as localhost. It works great mostly except for getting an ocassional SIGPIPE (closed socket). The SIGPIPE on the stand alone client process isn't any big deal. I can use systemctl to auto-restart it when it exits with SIGPIPE.
What I want to do is use a named pipe to pass an integer variable from a seperate process to my client. The problem is that it also causes the the process to crash with a SIGPIPE when the client crashes due to lose of connection.
My question is, is there some known way to modify the LCDd server without using sockets to talk to it?