<div dir="ltr"><div>It does get saved if I stop the application from Qt Creator.<br><br></div>-Vy<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 3, 2017 at 11:47 AM, Justin Noel <span dir="ltr"><<a href="mailto:justin@ics.com" target="_blank">justin@ics.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I think I can shed some light on the above.<br>
<br>
1) The HMI (launcher) exiting will not close any applications. It will<br>
happily restart and reclaim the surfaces of the already running<br>
applications and continue normally.<br>
<br>
2) There UnixSignalHandler class from the HMI is a way to gracefully<br>
shut down on SIGTERM and SIGINT signals sent to the process. For<br>
example CTRL-C on a termanial would produce SIGINT. Qt Creator sends<br>
SIGTERM followed by SIGKILL. Systemd should also send TERM followed by<br>
KILL if the process refused to politely shutdown. KILL is not<br>
"handleable".<br>
<br>
3) From the description above it sounds like you can save persisted<br>
data to disk when your application "cleanly shuts down", but not if<br>
it's forced to shut down. Does the persisted data get saved when<br>
stopping the application from Qt Creator? That should trigger a<br>
SIGTERM via the UnixSignalHandler.<br>
<br>
--Justin<br>
<div><div class="h5"><br>
On Mon, Apr 3, 2017 at 10:16 AM, Vy Duong <<a href="mailto:vduong@ics.com">vduong@ics.com</a>> wrote:<br>
> Hi,<br>
> I am writing an application that makes use of the PCL. In order for<br>
> information to be retained across boots, my application needs to do some<br>
> "cleaning up" in terms of de-initializing the library and having NSM do the<br>
> actual writing of the data to the device or set the life cycle.<br>
><br>
> This email thread has the summary of how the library works:<br>
> <a href="https://lists.linuxfoundation.org/pipermail/genivi-persistence/2016-April/000256.html" rel="noreferrer" target="_blank">https://lists.linuxfoundation.<wbr>org/pipermail/genivi-<wbr>persistence/2016-April/000256.<wbr>html</a><br>
><br>
> Initially, I had relied on the NSM to do the final writing, but this didn't<br>
> work since the NSM doesn't get kill before the application does and there is<br>
> no real "quitting" of either applications. So, I had gone to the latter<br>
> option, write back controlled by application.<br>
><br>
> I had noticed that the HMI code has a "UnixSignalHandler" class that handles<br>
> when the application closes based on the interrupt or termination of the<br>
> application. I copied those files into my application folder and was able to<br>
> do connect the quit of the application to the clean up code.<br>
><br>
> A follow up problem I am experiencing right now is that the HMI may quit or<br>
> terminate without notifying the underlying applications that it has exited.<br>
><br>
> Can you please provide some advice on whether including the<br>
> UnixSignalHandler was the way to go or if there is an alternative option?<br>
> And thoughts on how to handle when the HMI quits, but the application does<br>
> not recognize that it has exited?<br>
><br>
> Thank you very much in advance!<br>
> Best,<br>
> Vy<br>
> --<br>
> Vy Duong, Software Engineer, Integrated Computer Solutions.<br>
> ICS - Delivering World-Class Applications for Embedded & Mobile Devices<br>
> <a href="http://ics.com/services/" rel="noreferrer" target="_blank">http://ics.com/services/</a><br>
><br>
</div></div>> ______________________________<wbr>_________________<br>
> genivi-projects mailing list<br>
> <a href="mailto:genivi-projects@lists.genivi.org">genivi-projects@lists.genivi.<wbr>org</a><br>
> <a href="http://lists.genivi.org/cgi-bin/mailman/listinfo/genivi-projects" rel="noreferrer" target="_blank">http://lists.genivi.org/cgi-<wbr>bin/mailman/listinfo/genivi-<wbr>projects</a><br>
><br>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><span><font color="#888888">Vy Duong, Software Engineer, Integrated Computer Solutions.<br>
ICS - Delivering World-Class Applications for Embedded & Mobile Devices<br>
<a href="http://ics.com/services/" target="_blank">http://ics.com/services/</a></font></span></div></div></div></div>
</div>