<p>There is <a href="https://github.com/geany/geany-plugins/issues/433" class="issue-link js-issue-link" data-url="https://github.com/geany/geany-plugins/issues/433" data-id="158525873" data-error-text="Failed to load issue title" data-permission-text="Issue title is private">geany/geany-plugins#433</a> which I could easily reproduce. This is fixed by this patch.</p>
<p>I still think it should be attempted to become a normal callback again, it seems wasteful to keep a 50ms timer running indefinitely. Here is <a href="https://github.com/zhekov" class="user-mention">@zhekov</a> reply to that:</p>
<blockquote>
<p>The empty gio IN-s for a channel seem to start as soon as data appears on that channel, and never end. Or, they may end after some unpredictable time (minutes or more), when the spawn client finally manages to read all data, and the 50ms timeouts will do that fast. But I have no reason to believe that the empty IN-s won't start again as soon as unread data appears on the channel</p>
</blockquote>
<p>That sounds to me as if we could switch to the timer only when there is data and go to the normal callback in idle periods.</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/1461#issuecomment-314978639">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ1MQ4hdGJPbsEUbEcjVz6Jdsuls-ks5sNbEdgaJpZM4M3KqU">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJ-K73AyJnOgzuXBszzvgJSbBHiaYks5sNbEdgaJpZM4M3KqU.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/geany/geany/pull/1461#issuecomment-314978639"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>

<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":"@kugel- in #1461: There is https://github.com/geany/geany-plugins/issues/433 which I could easily reproduce. This is fixed by this patch.\r\n\r\nI still think it should be attempted to become a normal callback again, it seems wasteful to keep a 50ms timer running indefinitely. Here is @zhekov reply to that:\r\n\r\n\u003e The empty gio IN-s for a channel seem to start as soon as data appears on that channel, and never end. Or, they may end after some unpredictable time (minutes or more), when the spawn client finally manages to read all data, and the 50ms timeouts will do that fast. But I have no reason to believe that the empty IN-s won't start again as soon as unread data appears on the channel\r\n\r\nThat sounds to me as if we could switch to the timer only when there is data and go to the normal callback in idle periods. "}],"action":{"name":"View Pull Request","url":"https://github.com/geany/geany/pull/1461#issuecomment-314978639"}}}</script>