This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: More details about the tmux 2.0 regression


On Jun  8 18:25, Äsmail DÃnmez wrote:
> On Mon, Jun 8, 2015 at 6:12 PM, Äsmail DÃnmez <ismail@donmez.ws> wrote:
> > On Mon, Jun 8, 2015 at 4:21 PM, Corinna Vinschen
> > <corinna-cygwin@cygwin.com> wrote:
> >> On Jun  8 14:41, Corinna Vinschen wrote:
> >>> On Jun  6 12:58, Äsmail DÃnmez wrote:
> >>> > Hi,
> >>> >
> >>> > I had a nice discussion with tmux maintainers over at
> >>> > https://github.com/tmux/tmux/issues/13 about the tmux 2.0 regression
> >>> > on Cygwin.
> >>> >
> >>> > Long story short, tmux is trying to read /proc/<pid>/cmdline and
> >>> > /proc/<pid>/cwd for various reasons and for non-Cygwin programs this
> >>> > is quite slow. You can reproduce this easily run cmd.exe inside bash
> >>> > and try to
> >>> >
> >>> > cat /proc/<pid of cmd.exe>/cmdline
> >>>
> >>> Good catch!
> >>>
> >>> The problem here was that this functionality is very Cygwin centric.  It
> >>> tries to call into the process itself to fetch the information.
> >>>
> >>> E.g, assuming you have some /proc/1234, it tries to fetch the information
> >>> by sending a request to process 1234 and then waits for that process
> >>> setting a semaphore.  A non-Cygwin process will obviously fail to do so,
> >>> not knowing about the method at all.
> >>>
> >>> I fixed that in the Cygwin git repo and it seems to work much better now
> >>> to run native tools inside tmux with this change.
> >>>
> >>> I'll upload a developer snapshot on https://cygwin.com/snapshots/ later
> >>> today.
> >>
> >> Snapshot is up.
> >
> > That resolves the problem for me, cheers!

Thanks for testing.

> One question though, would it be possible to return executable name
> instead of <defunct> for non-Cygwin processes?

That should work, it just needs implementing.

However, I'm just mulling over another idea.  It's probably even
possible to return the comand line and cwd, as long as the calling
process (cat) has permission to open a handle to the requested process.
I'll toy around with this a bit...


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

Attachment: pgppe2XslNzlt.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]