<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>367746</bug_id>
          
          <creation_ts>2016-08-24 06:47:17 +0000</creation_ts>
          <short_desc>konsole-16.08.0 closes active screen (or tmux) window on exit</short_desc>
          <delta_ts>2016-09-13 10:15:37 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Applications</classification>
          <product>konsole</product>
          <component>general</component>
          <version>master</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.kde.org/show_bug.cgi?id=368596</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Markus Trippelsdorf">octoploid</reporter>
          <assigned_to name="Martin Sandsmark">martin.sandsmark</assigned_to>
          <cc>martin.sandsmark</cc>
    
    <cc>simonandric5</cc>
          
          <cf_commitlink>http://commits.kde.org/konsole/7cecfc078e49e1a8654a759481be31e335be2b09</cf_commitlink>
          <cf_versionfixedin></cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1616444</commentid>
    <comment_count>0</comment_count>
    <who name="Markus Trippelsdorf">octoploid</who>
    <bug_when>2016-08-24 06:47:17 +0000</bug_when>
    <thetext>konsole-16.08.0 closes the currently active screen (or tmux) window on exit.


Reproducible: Always

Steps to Reproduce:
1. Start screen or tmux and create several windows
2. Close konsole
3. re-attach the screen or tmux session

Actual Results:  
The last active window is now gone.

Expected Results:  
The last active window should still be there.

This is a regression from the previous version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1616562</commentid>
    <comment_count>1</comment_count>
    <who name="Markus Trippelsdorf">octoploid</who>
    <bug_when>2016-08-24 15:37:43 +0000</bug_when>
    <thetext>Probably started with commit 2f1c8cf397be6c91f and commit c6c09ce7a38fccd.
Please revert.
Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617299</commentid>
    <comment_count>2</comment_count>
    <who name="Martin Sandsmark">martin.sandsmark</who>
    <bug_when>2016-08-27 20:29:44 +0000</bug_when>
    <thetext>The alternative is data loss because the active process terminates its children, as explained in https://bugs.kde.org/show_bug.cgi?id=185140

As the bash maintainer explained EOF is the correct way for a terminal emulator to end a session.

If you have a better solution that doesn&apos;t lead to data loss I&apos;m all ears.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617300</commentid>
    <comment_count>3</comment_count>
      <attachid>100811</attachid>
    <who name="Martin Sandsmark">martin.sandsmark</who>
    <bug_when>2016-08-27 20:40:25 +0000</bug_when>
    <thetext>Created attachment 100811
Only send EOF if no foreground process

Can you test this patch and see if it helps for your usecase?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617345</commentid>
    <comment_count>4</comment_count>
    <who name="Markus Trippelsdorf">octoploid</who>
    <bug_when>2016-08-28 07:29:55 +0000</bug_when>
    <thetext>(In reply to Martin Sandsmark from comment #2)
&gt; The alternative is data loss because the active process terminates its
&gt; children, as explained in https://bugs.kde.org/show_bug.cgi?id=185140
&gt; 
&gt; As the bash maintainer explained EOF is the correct way for a terminal
&gt; emulator to end a session.
&gt; 
&gt; If you have a better solution that doesn&apos;t lead to data loss I&apos;m all ears.

One could argue that this isn&apos;t the job of an terminal emulator.
The user can specify the desired behavior in his shell config. So there
really is no need to change the way Konsole behaves.

Anyway your patch seems to fix the issue for me.
Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617351</commentid>
    <comment_count>5</comment_count>
    <who name="Markus Trippelsdorf">octoploid</who>
    <bug_when>2016-08-28 07:47:00 +0000</bug_when>
    <thetext>(In reply to Markus Trippelsdorf from comment #4)
&gt; (In reply to Martin Sandsmark from comment #2)
&gt; &gt; The alternative is data loss because the active process terminates its
&gt; &gt; children, as explained in https://bugs.kde.org/show_bug.cgi?id=185140
&gt; &gt; 
&gt; &gt; As the bash maintainer explained EOF is the correct way for a terminal
&gt; &gt; emulator to end a session.
&gt; &gt; 
&gt; &gt; If you have a better solution that doesn&apos;t lead to data loss I&apos;m all ears.
&gt; 
&gt; One could argue that this isn&apos;t the job of an terminal emulator.
&gt; The user can specify the desired behavior in his shell config. So there
&gt; really is no need to change the way Konsole behaves.
&gt; 
&gt; Anyway your patch seems to fix the issue for me.
&gt; Thanks.

No, I spoke too soon. The issue still happens (but not always) with your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617377</commentid>
    <comment_count>6</comment_count>
    <who name="Martin Sandsmark">martin.sandsmark</who>
    <bug_when>2016-08-28 10:10:43 +0000</bug_when>
    <thetext>Ok, then I&apos;ll have to track the shell process in some other way, probably by PID. The idea is to only send EOF if the only process running is the initially launched shell, not if e. g. screen or top is running. screen broke it somewhat because I just tracked the current process by name, and obviously bash is the active process in the screen.

I think that should be a good solution for everyone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617399</commentid>
    <comment_count>7</comment_count>
    <who name="Markus Trippelsdorf">octoploid</who>
    <bug_when>2016-08-28 11:47:20 +0000</bug_when>
    <thetext>I&apos;m not sure how this is supposed to work.

After boot I have, e.g.:  
  |-login,221 -f       
  |   `-zsh,227
  |       `-startx,228 /usr/bin/startx
  |           `-xinit,244 /home/markus/.xinitrc -- /etc/X11/xinit/xserverrc :0 -auth /home/markus/.serverauth.228
  |               |-X,245 -nolisten tcp :0 -auth /home/markus/.serverauth.228
  |               |  `-{radeon_cs:0},248
  |               `-xmonad-x86_64-l,250
  |                   |-konsole,278 -e /home/markus/start_tmux
  |                   |   |-start_tmux,300 /home/markus/start_tmux
  |                   |   |   `-tmux,302 attach-session
  |                   |   |-{QDBusConnection},293
  |                   |   |-{QXcbEventReader},292
  |                   |   `-{radeon_cs:0},299

After closing and re-attaching this gets:
  ├─login,221 -f       
  │   └─zsh,227
  │       └─startx,228 /usr/bin/startx
  │           └─xinit,244 /home/markus/.xinitrc -- /etc/X11/xinit/xserverrc :0 -auth /home/markus/.serverauth.228
  │               ├─X,245 -nolisten tcp :0 -auth /home/markus/.serverauth.228
  │               │  └─{radeon_cs:0},248
  │               └─xmonad-x86_64-l,250
  │                   ├─konsole,435
  │                   │   ├─zsh,440
  │                   │   │   └─tmux,445 attach-session
  │                   │   ├─zsh,505
  │                   │   │   └─ssh,510 trippels@gcc112.fsffrance.org
  │                   │   ├─{QDBusConnection},437
  │                   │   ├─{QXcbEventReader},436
  │                   │   └─{radeon_cs:0},439
  │                   ├─unclutter,280 -noevents -idle 1
  │                   ├─xmobar,282
  │                   └─xscreensaver,274

Where &quot;ssh,510 trippels@gcc112.fsffrance.org&quot; is a connection to a remote tmux session
in a new konsole window.

&quot;tmux,445 attach-session&quot; is the local tmux session:

  ├─tmux,304 attach-session
  │   ├─mutt,316
  │   ├─ncmpcpp,314
  │   ├─sh,309 /home/markus/multitail
  │   │   └─sudo,374 multitail --no-mark-change -M 0 -csn /var/log/messages -cS kernel /var/log/kern.log
  │   │       └─multitail,375 --no-mark-change -M 0 -csn /var/log/messages -cS kernel /var/log/kern.log
  │   │           ├─tail,376 --follow=name -n 157 /var/log/messages
  │   │           └─tail,377 --follow=name -n 50 /var/log/kern.log
  │   ├─sudo,305 su
  │   │   └─su,312
  │   │       └─zsh,332
  │   ├─sudo,307 su
  │   │   └─su,313
  │   │       └─zsh,333
  │   ├─zsh,318
  │   ├─zsh,320
  │   ├─zsh,324
  │   ├─zsh,326
  │   └─zsh,329
  │       └─pstree,1325 -apl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617408</commentid>
    <comment_count>8</comment_count>
      <attachid>100817</attachid>
    <who name="Martin Sandsmark">martin.sandsmark</who>
    <bug_when>2016-08-28 12:42:28 +0000</bug_when>
    <thetext>Created attachment 100817
Use proper methods to check for active PID

This works in my testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617413</commentid>
    <comment_count>9</comment_count>
    <who name="Markus Trippelsdorf">octoploid</who>
    <bug_when>2016-08-28 13:02:52 +0000</bug_when>
    <thetext>(In reply to Martin Sandsmark from comment #8)
&gt; Created attachment 100817 [details]
&gt; Use proper methods to check for active PID
&gt; 
&gt; This works in my testing.

It crashes when re-attaching a tmux session:

Thread 1 &quot;konsole&quot; received signal SIGSEGV, Segmentation fault.
Konsole::ProcessInfo::name (this=this@entry=0x0, ok=ok@entry=0x7fffffffd9af) at /var/tmp/konsole/src/ProcessInfo.cpp:231
231         *ok = _fields.testFlag(NAME);
(gdb) bt
#0  Konsole::ProcessInfo::name (this=this@entry=0x0, ok=ok@entry=0x7fffffffd9af) at /var/tmp/konsole/src/ProcessInfo.cpp:231
#1  0x00007ffff7f04b5d in Konsole::Session::getDynamicTitle (this=0x4b3290) at /var/tmp/konsole/src/Session.cpp:1058
#2  0x00007ffff7f11829 in Konsole::SessionController::snapshot (this=0x660f30) at /var/tmp/konsole/src/SessionController.cpp:253
#3  0x00007ffff7f19d1d in QtPrivate::FunctorCall&lt;QtPrivate::IndexesList&lt;&gt;, QtPrivate::List&lt;&gt;, void, void (Konsole::SessionController::*)()&gt;::call(void (Konsole::SessionController::*)(), Konsole::SessionController*, void**) (arg=&lt;optimized out&gt;, o=&lt;optimized out&gt;, f=&lt;optimized out&gt;) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:507
#4  QtPrivate::FunctionPointer&lt;void (Konsole::SessionController::*)()&gt;::call&lt;QtPrivate::List&lt;&gt;, void&gt;(void (Konsole::SessionController::*)(), Konsole::SessionController*, void**)
    (arg=&lt;optimized out&gt;, o=&lt;optimized out&gt;, f=&lt;optimized out&gt;) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:526
#5  QtPrivate::QSlotObject&lt;void (Konsole::SessionController::*)(), QtPrivate::List&lt;&gt;, void&gt;::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (
    which=&lt;optimized out&gt;, this_=&lt;optimized out&gt;, r=&lt;optimized out&gt;, a=&lt;optimized out&gt;, ret=&lt;optimized out&gt;) at /usr/include/qt5/QtCore/qobject_impl.h:149
#6  0x00007ffff61fbced in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5
#7  0x00007ffff6208728 in QTimer::timerEvent(QTimerEvent*) () from /usr/lib/libQt5Core.so.5
#8  0x00007ffff61fc8cb in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5
#9  0x00007ffff6aefe9c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#10 0x00007ffff6af7174 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#11 0x00007ffff61d0000 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#12 0x00007ffff6222f0e in QTimerInfoList::activateTimers() () from /usr/lib/libQt5Core.so.5
#13 0x00007ffff6223481 in timerSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib/libQt5Core.so.5
#14 0x00007ffff43b9dce in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#15 0x00007ffff43ba038 in g_main_context_iterate.isra () from /usr/lib/libglib-2.0.so.0
#16 0x00007ffff43ba0ec in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#17 0x00007ffff6223fdf in QEventDispatcherGlib::processEvents(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) () from /usr/lib/libQt5Core.so.5
#18 0x00007ffff61ce44a in QEventLoop::exec(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) () from /usr/lib/libQt5Core.so.5
#19 0x00007ffff61d67ed in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#20 0x00007ffff7fd2a9d in kdemain (argc=&lt;optimized out&gt;, argv=&lt;optimized out&gt;) at /var/tmp/konsole/src/main.cpp:174
#21 0x0000000000400a9d in main (argc=&lt;optimized out&gt;, argv=&lt;optimized out&gt;) at /var/tmp/konsole/build/src/konsole_dummy.cpp:3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617419</commentid>
    <comment_count>10</comment_count>
      <attachid>100818</attachid>
    <who name="Martin Sandsmark">martin.sandsmark</who>
    <bug_when>2016-08-28 13:29:41 +0000</bug_when>
    <thetext>Created attachment 100818
Patch #3

Try this. There were some implicit dependencies on side-effects...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617423</commentid>
    <comment_count>11</comment_count>
    <who name="Markus Trippelsdorf">octoploid</who>
    <bug_when>2016-08-28 13:54:13 +0000</bug_when>
    <thetext>Seems to work now. Thanks.
BTW your:
commit 04dce67996a9318494c79c2617e3c88620e8e19e
Author: Martin T. H. Sandsmark &lt;martin.sandsmark@kde.org&gt;
Date:   Sat Aug 27 14:38:26 2016 +0200

    Make the URL hint keyboard modifiers configurable
    
    Instead of hardcoding CTRL which was a bit annoying add checkboxes to
    the profile edit dialog to let the user select which keys to use.
    
    REVIEW: 128778

Creates strange visible distortions. When I type something in my shell, completely unrelated glyphs from older output get changed in strange ways. And konsole consumes a lot of CPU and general response time is unbearable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617425</commentid>
    <comment_count>12</comment_count>
    <who name="Markus Trippelsdorf">octoploid</who>
    <bug_when>2016-08-28 14:02:20 +0000</bug_when>
    <thetext>And it still doesn&apos;t fully work unfortunately.
When I start tmux for the first time, then close Konsole, then re-attach:
the last active shell window is now gone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617429</commentid>
    <comment_count>13</comment_count>
    <who name="Markus Trippelsdorf">octoploid</who>
    <bug_when>2016-08-28 14:12:54 +0000</bug_when>
    <thetext>I have &quot;konsole -e &quot;tmux attach-session&quot; &gt; /dev/null 2&gt;&amp;1 &amp;&quot; in my .xinitrc,
so there is no underlying shell in this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617462</commentid>
    <comment_count>14</comment_count>
    <who name="Martin Sandsmark">martin.sandsmark</who>
    <bug_when>2016-08-28 17:18:13 +0000</bug_when>
    <thetext>Ah, the -e messes it up indeed.

Ok, I&apos;ll push the first patch anyways, it makes things a bit tidier, and then I&apos;ll just check the name of the base process against a list of known shells, I guess. Unless I come up with a better idea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617463</commentid>
    <comment_count>15</comment_count>
    <who name="Martin Sandsmark">martin.sandsmark</who>
    <bug_when>2016-08-28 17:18:21 +0000</bug_when>
    <thetext>Git commit 79ca76a94696eda408927b122b0b531676d4ba93 by Martin T. H. Sandsmark.
Committed on 28/08/2016 at 17:12.
Pushed by sandsmark into branch &apos;master&apos;.

Fix checking of foreground process

The old method of checking it has unnecessary overhead (doing a full
process info update), and wasn&apos;t very reliable.

Instead just get the original shell PID from QProcess (via KProcess),
and the foreground process from the PTY.
REVIEW: 128789

M  +2    -1    src/MainWindow.cpp
M  +5    -4    src/Session.cpp

http://commits.kde.org/konsole/79ca76a94696eda408927b122b0b531676d4ba93</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617466</commentid>
    <comment_count>16</comment_count>
      <attachid>100830</attachid>
    <who name="Martin Sandsmark">martin.sandsmark</who>
    <bug_when>2016-08-28 17:31:04 +0000</bug_when>
    <thetext>Created attachment 100830
Patch to only send EOF to known shells

This should fix it once and for all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617471</commentid>
    <comment_count>17</comment_count>
    <who name="Markus Trippelsdorf">octoploid</who>
    <bug_when>2016-08-28 17:49:10 +0000</bug_when>
    <thetext>(In reply to Martin Sandsmark from comment #16)
&gt; Created attachment 100830 [details]
&gt; Patch to only send EOF to known shells
&gt; 
&gt; This should fix it once and for all.

Indeed it does. Thank you for your patience.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617484</commentid>
    <comment_count>18</comment_count>
    <who name="Martin Sandsmark">martin.sandsmark</who>
    <bug_when>2016-08-28 19:51:43 +0000</bug_when>
    <thetext>&gt; Indeed it does. Thank you for your patience.

Thank you for your patience as well. :-)

https://git.reviewboard.kde.org/r/128791/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617506</commentid>
    <comment_count>19</comment_count>
    <who name="Martin Sandsmark">martin.sandsmark</who>
    <bug_when>2016-08-28 22:13:17 +0000</bug_when>
    <thetext>Git commit ce4ab922496cb9e133f96db78c5b67bc01429512 by Martin T. H. Sandsmark.
Committed on 28/08/2016 at 22:12.
Pushed by sandsmark into branch &apos;master&apos;.

Only send EOF to known shells

The only processes that are &quot;safe&quot; or require us to send an EOF to
terminate cleanly are shells, so verify that people didn&apos;t run with -e
tmux or similar.

REVIEW: 128791

M  +4    -2    src/Session.cpp

http://commits.kde.org/konsole/ce4ab922496cb9e133f96db78c5b67bc01429512</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618085</commentid>
    <comment_count>20</comment_count>
    <who name="Kurt Hindenburg">khindenburg</who>
    <bug_when>2016-08-31 12:49:01 +0000</bug_when>
    <thetext>Git commit 17a3ee5dfa1fc99776a015b31e5862ce82ab1a56 by Kurt Hindenburg, on behalf of Martin T. H. Sandsmark.
Committed on 31/08/2016 at 12:37.
Pushed by hindenburg into branch &apos;Applications/16.08&apos;.

Fix checking of foreground process

The old method of checking it has unnecessary overhead (doing a full
process info update), and wasn&apos;t very reliable.

Instead just get the original shell PID from QProcess (via KProcess),
and the foreground process from the PTY.
REVIEW: 128789
(cherry picked from commit 79ca76a94696eda408927b122b0b531676d4ba93)

M  +2    -1    src/MainWindow.cpp
M  +5    -4    src/Session.cpp

http://commits.kde.org/konsole/17a3ee5dfa1fc99776a015b31e5862ce82ab1a56</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618091</commentid>
    <comment_count>21</comment_count>
    <who name="Kurt Hindenburg">khindenburg</who>
    <bug_when>2016-08-31 12:56:50 +0000</bug_when>
    <thetext>Git commit 7cecfc078e49e1a8654a759481be31e335be2b09 by Kurt Hindenburg, on behalf of Martin T. H. Sandsmark.
Committed on 31/08/2016 at 12:38.
Pushed by hindenburg into branch &apos;Applications/16.08&apos;.

Only send EOF to known shells

The only processes that are &quot;safe&quot; or require us to send an EOF to
terminate cleanly are shells, so verify that people didn&apos;t run with -e
tmux or similar.

REVIEW: 128791
(cherry picked from commit ce4ab922496cb9e133f96db78c5b67bc01429512)

M  +4    -2    src/Session.cpp

http://commits.kde.org/konsole/7cecfc078e49e1a8654a759481be31e335be2b09</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100811</attachid>
            <date>2016-08-27 20:40:25 +0000</date>
            <delta_ts>2016-08-28 13:29:41 +0000</delta_ts>
            <desc>Only send EOF if no foreground process</desc>
            <filename>0001-Send-EOF-only-when-no-foreground-process-active.patch</filename>
            <type>text/plain</type>
            <size>910</size>
            <attacher name="Martin Sandsmark">martin.sandsmark</attacher>
            
              <data encoding="base64">RnJvbSA0YzcxN2VhNmIyYTc2YjJjNGFmMjE2NDNjY2MwNGEwM2FjOTI2Y2YyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiAiTWFydGluIFQuIEguIFNhbmRzbWFyayIgPG1hcnRpbi5zYW5k
c21hcmtAa2RlLm9yZz4KRGF0ZTogU2F0LCAyNyBBdWcgMjAxNiAyMjozOToxNyArMDIwMApTdWJq
ZWN0OiBbUEFUQ0hdIFNlbmQgRU9GIG9ubHkgd2hlbiBubyBmb3JlZ3JvdW5kIHByb2Nlc3MgYWN0
aXZlCgotLS0KIHNyYy9TZXNzaW9uLmNwcCB8IDQgKy0tLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5z
ZXJ0aW9uKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9TZXNzaW9uLmNwcCBi
L3NyYy9TZXNzaW9uLmNwcAppbmRleCAxNGEwZmJiLi4zNjQ2Mzg2IDEwMDY0NAotLS0gYS9zcmMv
U2Vzc2lvbi5jcHAKKysrIGIvc3JjL1Nlc3Npb24uY3BwCkBAIC04MjMsOSArODIzLDcgQEAgYm9v
bCBTZXNzaW9uOjpjbG9zZUluTm9ybWFsV2F5KCkKICAgICB9CiAKICAgICAvLyBDaGVjayBpZiB0
aGUgZGVmYXVsdCBzaGVsbCBpcyBydW5uaW5nLCBpbiB0aGF0IGNhc2UgdHJ5IHNlbmRpbmcgYW4g
RU9GIGZvciBhIGNsZWFuIGV4aXQKLSAgICBjb25zdCBRU3RyaW5nIGRlZmF1bHRQcm9jID0gcHJv
Z3JhbSgpLnNwbGl0KCcvJykubGFzdCgpOwotICAgIGNvbnN0IFFTdHJpbmcgY3VycmVudFByb2Mg
PSBmb3JlZ3JvdW5kUHJvY2Vzc05hbWUoKS5zcGxpdCgnLycpLmxhc3QoKTsKLSAgICBpZiAoZGVm
YXVsdFByb2MgPT0gY3VycmVudFByb2MpIHsKKyAgICBpZiAoIWlzRm9yZWdyb3VuZFByb2Nlc3NB
Y3RpdmUoKSkgewogICAgICAgICBfc2hlbGxQcm9jZXNzLT5zZW5kRW9mKCk7CiAKICAgICAgICAg
aWYgKF9zaGVsbFByb2Nlc3MtPndhaXRGb3JGaW5pc2hlZCgxMDAwKSkgewotLSAKMi45LjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100817</attachid>
            <date>2016-08-28 12:42:28 +0000</date>
            <delta_ts>2016-08-28 13:29:41 +0000</delta_ts>
            <desc>Use proper methods to check for active PID</desc>
            <filename>0001-Check-for-active-foreground-process-by-PID-properly.patch</filename>
            <type>text/plain</type>
            <size>1285</size>
            <attacher name="Martin Sandsmark">martin.sandsmark</attacher>
            
              <data encoding="base64">RnJvbSBhODEyZGZmMzVkMTE2MzAwM2Y5YzNiMThlNzliYmI5OWE1MzZmNTYwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiAiTWFydGluIFQuIEguIFNhbmRzbWFyayIgPG1hcnRpbi5zYW5k
c21hcmtAa2RlLm9yZz4KRGF0ZTogU3VuLCAyOCBBdWcgMjAxNiAxNDo0MTo0MiArMDIwMApTdWJq
ZWN0OiBbUEFUQ0hdIENoZWNrIGZvciBhY3RpdmUgZm9yZWdyb3VuZCBwcm9jZXNzIGJ5IFBJRCBw
cm9wZXJseQoKLS0tCiBzcmMvU2Vzc2lvbi5jcHAgfCA2ICsrLS0tLQogMSBmaWxlIGNoYW5nZWQs
IDIgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvU2Vzc2lv
bi5jcHAgYi9zcmMvU2Vzc2lvbi5jcHAKaW5kZXggMTRhMGZiYi4uNzc3YzdlYiAxMDA2NDQKLS0t
IGEvc3JjL1Nlc3Npb24uY3BwCisrKyBiL3NyYy9TZXNzaW9uLmNwcApAQCAtODIzLDkgKzgyMyw3
IEBAIGJvb2wgU2Vzc2lvbjo6Y2xvc2VJbk5vcm1hbFdheSgpCiAgICAgfQogCiAgICAgLy8gQ2hl
Y2sgaWYgdGhlIGRlZmF1bHQgc2hlbGwgaXMgcnVubmluZywgaW4gdGhhdCBjYXNlIHRyeSBzZW5k
aW5nIGFuIEVPRiBmb3IgYSBjbGVhbiBleGl0Ci0gICAgY29uc3QgUVN0cmluZyBkZWZhdWx0UHJv
YyA9IHByb2dyYW0oKS5zcGxpdCgnLycpLmxhc3QoKTsKLSAgICBjb25zdCBRU3RyaW5nIGN1cnJl
bnRQcm9jID0gZm9yZWdyb3VuZFByb2Nlc3NOYW1lKCkuc3BsaXQoJy8nKS5sYXN0KCk7Ci0gICAg
aWYgKGRlZmF1bHRQcm9jID09IGN1cnJlbnRQcm9jKSB7CisgICAgaWYgKCFpc0ZvcmVncm91bmRQ
cm9jZXNzQWN0aXZlKCkpIHsKICAgICAgICAgX3NoZWxsUHJvY2Vzcy0+c2VuZEVvZigpOwogCiAg
ICAgICAgIGlmIChfc2hlbGxQcm9jZXNzLT53YWl0Rm9yRmluaXNoZWQoMTAwMCkpIHsKQEAgLTE0
NjksNyArMTQ2Nyw3IEBAIGludCBTZXNzaW9uOjpmb3JlZ3JvdW5kUHJvY2Vzc0lkKCkKIGJvb2wg
U2Vzc2lvbjo6aXNGb3JlZ3JvdW5kUHJvY2Vzc0FjdGl2ZSgpCiB7CiAgICAgLy8gZm9yZWdyb3Vu
ZCBwcm9jZXNzIGluZm8gaXMgYWx3YXlzIHVwZGF0ZWQgYWZ0ZXIgdGhpcwotICAgIHJldHVybiB1
cGRhdGVGb3JlZ3JvdW5kUHJvY2Vzc0luZm8oKSAmJiAocHJvY2Vzc0lkKCkgIT0gX2ZvcmVncm91
bmRQaWQpOworICAgIHJldHVybiAoX3NoZWxsUHJvY2Vzcy0+cGlkKCkgIT0gX3NoZWxsUHJvY2Vz
cy0+Zm9yZWdyb3VuZFByb2Nlc3NHcm91cCgpKTsKIH0KIAogUVN0cmluZyBTZXNzaW9uOjpmb3Jl
Z3JvdW5kUHJvY2Vzc05hbWUoKQotLSAKMi45LjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100818</attachid>
            <date>2016-08-28 13:29:41 +0000</date>
            <delta_ts>2016-08-28 17:31:04 +0000</delta_ts>
            <desc>Patch #3</desc>
            <filename>0001-Check-for-active-foreground-process-by-PID-properly.patch</filename>
            <type>text/plain</type>
            <size>2219</size>
            <attacher name="Martin Sandsmark">martin.sandsmark</attacher>
            
              <data encoding="base64">RnJvbSA5MjM3MWVjYTcxNTIxNjVlMzVmMDU3NDNkYjBjY2YyN2VjZjQ0Njg3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiAiTWFydGluIFQuIEguIFNhbmRzbWFyayIgPG1hcnRpbi5zYW5k
c21hcmtAa2RlLm9yZz4KRGF0ZTogU3VuLCAyOCBBdWcgMjAxNiAxNDo0MTo0MiArMDIwMApTdWJq
ZWN0OiBbUEFUQ0hdIENoZWNrIGZvciBhY3RpdmUgZm9yZWdyb3VuZCBwcm9jZXNzIGJ5IFBJRCBw
cm9wZXJseQoKLS0tCiBzcmMvTWFpbldpbmRvdy5jcHAgfCAzICsrLQogc3JjL1Nlc3Npb24uY3Bw
ICAgIHwgOSArKysrKy0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA1IGRl
bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9NYWluV2luZG93LmNwcCBiL3NyYy9NYWluV2lu
ZG93LmNwcAppbmRleCA2ZjU2MDE0Li44MDNlZWFmIDEwMDY0NAotLS0gYS9zcmMvTWFpbldpbmRv
dy5jcHAKKysrIGIvc3JjL01haW5XaW5kb3cuY3BwCkBAIC01MzYsOCArNTM2LDkgQEAgYm9vbCBN
YWluV2luZG93OjpxdWVyeUNsb3NlKCkKIAogICAgIFFTdHJpbmdMaXN0IHByb2Nlc3Nlc1J1bm5p
bmc7CiAgICAgZm9yZWFjaChTZXNzaW9uICpzZXNzaW9uLCBfdmlld01hbmFnZXItPnNlc3Npb25z
KCkpIHsKLSAgICAgICAgaWYgKCFzZXNzaW9uKQorICAgICAgICBpZiAoIXNlc3Npb24gfHwgIXNl
c3Npb24tPmlzRm9yZWdyb3VuZFByb2Nlc3NBY3RpdmUoKSkgewogICAgICAgICAgICAgY29udGlu
dWU7CisgICAgICAgIH0KIAogICAgICAgICBjb25zdCBRU3RyaW5nIGRlZmF1bHRQcm9jID0gc2Vz
c2lvbi0+cHJvZ3JhbSgpLnNwbGl0KCcvJykubGFzdCgpOwogICAgICAgICBjb25zdCBRU3RyaW5n
IGN1cnJlbnRQcm9jID0gc2Vzc2lvbi0+Zm9yZWdyb3VuZFByb2Nlc3NOYW1lKCkuc3BsaXQoJy8n
KS5sYXN0KCk7CmRpZmYgLS1naXQgYS9zcmMvU2Vzc2lvbi5jcHAgYi9zcmMvU2Vzc2lvbi5jcHAK
aW5kZXggMTRhMGZiYi4uYWU1MzljZCAxMDA2NDQKLS0tIGEvc3JjL1Nlc3Npb24uY3BwCisrKyBi
L3NyYy9TZXNzaW9uLmNwcApAQCAtODIzLDkgKzgyMyw3IEBAIGJvb2wgU2Vzc2lvbjo6Y2xvc2VJ
bk5vcm1hbFdheSgpCiAgICAgfQogCiAgICAgLy8gQ2hlY2sgaWYgdGhlIGRlZmF1bHQgc2hlbGwg
aXMgcnVubmluZywgaW4gdGhhdCBjYXNlIHRyeSBzZW5kaW5nIGFuIEVPRiBmb3IgYSBjbGVhbiBl
eGl0Ci0gICAgY29uc3QgUVN0cmluZyBkZWZhdWx0UHJvYyA9IHByb2dyYW0oKS5zcGxpdCgnLycp
Lmxhc3QoKTsKLSAgICBjb25zdCBRU3RyaW5nIGN1cnJlbnRQcm9jID0gZm9yZWdyb3VuZFByb2Nl
c3NOYW1lKCkuc3BsaXQoJy8nKS5sYXN0KCk7Ci0gICAgaWYgKGRlZmF1bHRQcm9jID09IGN1cnJl
bnRQcm9jKSB7CisgICAgaWYgKCFpc0ZvcmVncm91bmRQcm9jZXNzQWN0aXZlKCkpIHsKICAgICAg
ICAgX3NoZWxsUHJvY2Vzcy0+c2VuZEVvZigpOwogCiAgICAgICAgIGlmIChfc2hlbGxQcm9jZXNz
LT53YWl0Rm9yRmluaXNoZWQoMTAwMCkpIHsKQEAgLTk5Miw2ICs5OTAsOSBAQCBQcm9jZXNzSW5m
byogU2Vzc2lvbjo6Z2V0UHJvY2Vzc0luZm8oKQogICAgIFByb2Nlc3NJbmZvKiBwcm9jZXNzID0g
MDsKIAogICAgIGlmIChpc0ZvcmVncm91bmRQcm9jZXNzQWN0aXZlKCkpIHsKKyAgICAgICAgaWYg
KF9mb3JlZ3JvdW5kUHJvY2Vzc0luZm8gPT0gbnVsbHB0cikgeworICAgICAgICAgICAgdXBkYXRl
Rm9yZWdyb3VuZFByb2Nlc3NJbmZvKCk7CisgICAgICAgIH0KICAgICAgICAgcHJvY2VzcyA9IF9m
b3JlZ3JvdW5kUHJvY2Vzc0luZm87CiAgICAgfSBlbHNlIHsKICAgICAgICAgdXBkYXRlU2Vzc2lv
blByb2Nlc3NJbmZvKCk7CkBAIC0xNDY5LDcgKzE0NzAsNyBAQCBpbnQgU2Vzc2lvbjo6Zm9yZWdy
b3VuZFByb2Nlc3NJZCgpCiBib29sIFNlc3Npb246OmlzRm9yZWdyb3VuZFByb2Nlc3NBY3RpdmUo
KQogewogICAgIC8vIGZvcmVncm91bmQgcHJvY2VzcyBpbmZvIGlzIGFsd2F5cyB1cGRhdGVkIGFm
dGVyIHRoaXMKLSAgICByZXR1cm4gdXBkYXRlRm9yZWdyb3VuZFByb2Nlc3NJbmZvKCkgJiYgKHBy
b2Nlc3NJZCgpICE9IF9mb3JlZ3JvdW5kUGlkKTsKKyAgICByZXR1cm4gKF9zaGVsbFByb2Nlc3Mt
PnBpZCgpICE9IF9zaGVsbFByb2Nlc3MtPmZvcmVncm91bmRQcm9jZXNzR3JvdXAoKSk7CiB9CiAK
IFFTdHJpbmcgU2Vzc2lvbjo6Zm9yZWdyb3VuZFByb2Nlc3NOYW1lKCkKLS0gCjIuOS4zCgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100830</attachid>
            <date>2016-08-28 17:31:04 +0000</date>
            <delta_ts>2016-08-28 17:31:04 +0000</delta_ts>
            <desc>Patch to only send EOF to known shells</desc>
            <filename>0001-Only-send-EOF-to-known-shells.patch</filename>
            <type>text/plain</type>
            <size>963</size>
            <attacher name="Martin Sandsmark">martin.sandsmark</attacher>
            
              <data encoding="base64">RnJvbSA4MTUxMDYyNjU3YzQxZDM0YzlkMGI5NTgyNWFjZDhhZDQ3MmVjNmJiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiAiTWFydGluIFQuIEguIFNhbmRzbWFyayIgPG1hcnRpbi5zYW5k
c21hcmtAa2RlLm9yZz4KRGF0ZTogU3VuLCAyOCBBdWcgMjAxNiAxOToyOTowOCArMDIwMApTdWJq
ZWN0OiBbUEFUQ0hdIE9ubHkgc2VuZCBFT0YgdG8ga25vd24gc2hlbGxzCgotLS0KIHNyYy9TZXNz
aW9uLmNwcCB8IDQgKysrLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxl
dGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyYy9TZXNzaW9uLmNwcCBiL3NyYy9TZXNzaW9uLmNwcApp
bmRleCA5MTc4ZWIyLi42ZTdlNzU5IDEwMDY0NAotLS0gYS9zcmMvU2Vzc2lvbi5jcHAKKysrIGIv
c3JjL1Nlc3Npb24uY3BwCkBAIC04MjIsOCArODIyLDEwIEBAIGJvb2wgU2Vzc2lvbjo6Y2xvc2VJ
bk5vcm1hbFdheSgpCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAorICAgIHN0YXRpYyBR
U2V0PFFTdHJpbmc+IGtub3duU2hlbGxzKHsiYXNoIiwgImJhc2giLCAiY3NoIiwgImRhc2giLCAi
ZmlzaCIsICJodXNoIiwgImtzaCIsICJta3NoIiwgInBka3NoIiwgInRjc2giLCAienNoIn0pOwor
CiAgICAgLy8gQ2hlY2sgaWYgdGhlIGRlZmF1bHQgc2hlbGwgaXMgcnVubmluZywgaW4gdGhhdCBj
YXNlIHRyeSBzZW5kaW5nIGFuIEVPRiBmb3IgYSBjbGVhbiBleGl0Ci0gICAgaWYgKCFpc0ZvcmVn
cm91bmRQcm9jZXNzQWN0aXZlKCkpIHsKKyAgICBpZiAoIWlzRm9yZWdyb3VuZFByb2Nlc3NBY3Rp
dmUoKSAmJiBrbm93blNoZWxscy5jb250YWlucyhRRmlsZUluZm8oX3Byb2dyYW0pLmZpbGVOYW1l
KCkpKSB7CiAgICAgICAgIF9zaGVsbFByb2Nlc3MtPnNlbmRFb2YoKTsKIAogICAgICAgICBpZiAo
X3NoZWxsUHJvY2Vzcy0+d2FpdEZvckZpbmlzaGVkKDEwMDApKSB7Ci0tIAoyLjkuMwoK
</data>

          </attachment>
      

    </bug>

</bugzilla>