<p dir="ltr">I managed to do what I wanted to do using add_timeout with the GLib's MainLoop: I poll every second the state of the unit and manually call the callback connected to DBus to fake the event when the unit is stopped. </p>
<p dir="ltr">It works but this is a dirty hack. So I'm still interested by a real solution :) </p>
<p dir="ltr">Cheers!</p>
<div class="gmail_quote">Le 23 mai 2016 11:55, "Adrien Besnard" <<a href="mailto:adrien.besnard@gmail.com">adrien.besnard@gmail.com</a>> a écrit :<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>Hello, <br><br></div>I'm trying to make a small Python script which send an email when a <b>Type=oneshot </b>service ends (either in success or in failure). <br><br></div>To do that, I'm using the dbus binding for Python, and connecting to the <b>PropertiesChanged</b> signal on the unit I'm monitoring. <br><br></div><div>It works great when the process fails (the signal is triggered and I see <b>ActiveState</b> and <b>SubState</b> refleting the failure) but not when the service end successully. <br><br></div><div>All I see is an <b>UnitRemoved</b> signal triggered by the manager interface... Is that normal? <br><br></div><div>Do you guys have an idea of what I'm missing here?<br><br></div><div>Thanks! <br></div><div>--<br clear="all"><div><div><div><div dir="ltr"><div>Adrien BESNARD</div></div></div></div>
</div></div></div>
</blockquote></div>