<blockquote>
<p>So no, its not guaranteed that they will have any time available.</p>
</blockquote>
<p>Right, but it's their entire purpose, so presumably they usually work. Moreover, I'm not talking about "session managers" as such, but rather just well-behaving Linux systems.</p>
<p>I just whipped up a simple test application that sleeps for some time in an infinite loop and logs signals. I tested in a VM with a modern systemd-using distro (Elementary) and it indeed seems to wait around 90 seconds before truly killing the process. I also made it voluntarily quit after around 10 seconds after receiving the signals and the system waited around 10 seconds, and then rebooted.</p>
<p>Of course none of it means it's guaranteed, but it shows that the system does as expected in the common case.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/geany/geany/pull/1860#issuecomment-391575442">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ53RFSCffhnRenHudicQRFaLv35Sks5t1icogaJpZM4UKt8l">mute the thread</a>.<img src="https://github.com/notifications/beacon/ABDrJ8fuiEtNWipZpox4esjGJNwEKCvDks5t1icogaJpZM4UKt8l.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","potentialAction":{"@type":"ViewAction","target":"https://github.com/geany/geany/pull/1860#issuecomment-391575442","url":"https://github.com/geany/geany/pull/1860#issuecomment-391575442","name":"View Pull Request"},"description":"View this Pull Request on GitHub","publisher":{"@type":"Organization","name":"GitHub","url":"https://github.com"}}</script>
<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/geany/geany","title":"geany/geany","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/geany/geany"}},"updates":{"snippets":[{"icon":"PERSON","message":"@codebrainz in #1860: \u003e So no, its not guaranteed that they will have any time available.\r\n\r\nRight, but it's their entire purpose, so presumably they usually work. Moreover, I'm not talking about \"session managers\" as such, but rather just well-behaving Linux systems.\r\n\r\nI just whipped up a simple test application that sleeps for some time in an infinite loop and logs signals. I tested in a VM with a modern systemd-using distro (Elementary) and it indeed seems to wait around 90 seconds before truly killing the process. I also made it voluntarily quit after around 10 seconds after receiving the signals and the system waited around 10 seconds, and then rebooted.\r\n\r\nOf course none of it means it's guaranteed, but it shows that the system does as expected in the common case."}],"action":{"name":"View Pull Request","url":"https://github.com/geany/geany/pull/1860#issuecomment-391575442"}}}</script>
<script type="application/ld+json">{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"hideOriginalBody": "false",
"originator": "37567f93-e2a7-4e2a-ad37-a9160fc62647",
"title": "Re: [geany/geany] Save project on file open/close (#1860)",
"sections": [
{
"text": "",
"activityTitle": "**Matthew Brush**",
"activityImage": "https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png",
"activitySubtitle": "@codebrainz",
"facts": [

]
}
],
"potentialAction": [
{
"name": "Add a comment",
"@type": "ActionCard",
"inputs": [
{
"isMultiLine": true,
"@type": "TextInput",
"id": "IssueComment",
"isRequired": false
}
],
"actions": [
{
"name": "Comment",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"IssueComment\",\n\"repositoryFullName\": \"geany/geany\",\n\"issueId\": 1860,\n\"IssueComment\": \"{{IssueComment.value}}\"\n}"
}
]
},
{
"name": "Close pull request",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"PullRequestClose\",\n\"repositoryFullName\": \"geany/geany\",\n\"pullRequestId\": 1860\n}"
},
{
"targets": [
{
"os": "default",
"uri": "https://github.com/geany/geany/pull/1860#issuecomment-391575442"
}
],
"@type": "OpenUri",
"name": "View on GitHub"
},
{
"name": "Unsubscribe",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"MuteNotification\",\n\"threadId\": 338353957\n}"
}
],
"themeColor": "26292E"
}</script>