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: Cygwin 1.7 & mintty error - cannot run mintty more than once at a time


On Wed, Sep 30, 2009 at 07:09:38AM +0100, Andy Koppe wrote:
>2009/9/30 David Antliff:
>>> From http://cygwin.com/problems.html: "Run 'cygcheck -s -v -r
>>>>cygcheck.out' and include that file as an attachment in your report.
>>
>> Done, although I've manually stripped out some company-specific info
>> I'd rather not publish on the Internet.
>
>Good idea.
>
>
>>> Also, which version of mintty are you using, and how exactly are you
>>> invoking it? And are you running 1.5 at the same time?
>>
>> According to the 'About' dialog, I am using 0.4.4, which came with
>> yesterday's Cygwin-1.7 fresh install.
>>
>> I'm invoking it from cygwin.bat like this (instead of bash --login -i):
>> cygstart mintty --size=88,30 -
>>
>> However I get the same problem if I simply run
>> c:\cygwin-1.7\bin\mintty.exe from a Windows cmd.exe prompt, when one
>> instance is already running.
>>
>> Yes, I am running various 1.5 processes (including mintty) at the same
>> time. I can try shutting down all 1.5 minttys if you like.
>
>Yes, I think that's worth trying. 1.5 and 1.7 should be able to run
>side-by-side, and it works for me, but who knows. Even better if you
>were able to shut down all Cygwin processes, or reboot.
>
>
>>  85  166760 [main] mintty 4336 fhandler_pipe::create_selectable:
>CreateNamedPipe: name \\.\pipe\cygwin-tty1-to-master, size 131072
>> 242  167002 [main] mintty 4336 fhandler_pipe::create_selectable: pipe busy
>
>The is a call to CreateNamedPipe in Cygwin's pty emulation failing
>with "ERROR_PIPE_BUSY". Helpfully, CreateNamedPipe's MSDN page makes
>no mention of it, but the code in pipe.cc has this:
>
>	case ERROR_PIPE_BUSY:
>	  /* The pipe is already open with compatible parameters.
>	     Pick a new name and retry.  */
>	  debug_printf ("pipe busy", name ? ", retrying" : "");
>	  break;
>
>In this case we don't retry because the name is fixed to
>"\\.\pipe\cygwin-tty1-to-master".
>
>This article suggests a call to WaitNamedPipe in case of
>ERROR_PIPE_BUSY:
>http://msdn.microsoft.com/en-us/library/aa365592%28VS.85%29.aspx. I've
>got no idea whether that would help here.
>
>cgf?

It shouldn't be necessary.

The tty code is supposed to avoid setting up more than one tty server
for the same tty number.  If there is an ERROR_PIPE_BUSY problem when
setting up cygwin-tty1-to-master that might indicate that some other
Cygwin process has already established a tty but the process is somehow
not sharing Cygwin's shared memory pool where this information is kept.

This is probably one of those cases where 1.5 and 1.7 can't coexist.  If
you're running pty processes from each then you'll have this problem.

cgf

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


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