Re: 256x256 px icons

2011-08-03 Thread Corinna Vinschen
On Aug  3 06:54, Andy Koppe wrote:
 On 2 August 2011 17:06, Corinna Vinschen wrote:
  On Aug  2 11:45, Charles Wilson wrote:
  On 8/2/2011 11:24 AM, Corinna Vinschen wrote:
   I guess we're getting close to the end result now.
 
  So, how are you (Andy, Corinna) planning to handle the .ico file(s)
  themselves?  Are you
 
  1. (Andy) planning to put it/them into the mintty executable as 
  resource(s),
 
  2. ship the .ico file(s) in '/' as part of the main cygwin package, as
  we have long done with cygwin.ico
 
  3. Incorporate it/them into cygicon*.dll as part of the cygutils package
 
  or some combination?  I'm open to #3, but I'll need provenance and
  licensing info (see the end of /usr/share/doc/cygutils/cygicons/README )
 
  I would stick to the standard terminal icon for mintty(*), except in the
  case of the Cygwin Terminal desktop and start menu icons.
 
 Sounds good to me.
 
  Both files will be installed into / just as today.
 
 I thought the desktop and start menu icons would be the same.
 (Setup.exe's icon might be different.)

Right.  But even if the terminal uses the terminal C, I think it
doesn't hurt to provide the standalone C as well (think brand).


Corinna

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


Re: [Patch] Add rebase-dump application to rebase package

2011-08-03 Thread Corinna Vinschen
On Aug  1 09:28, Charles Wilson wrote:
 On 8/1/2011 3:56 AM, Corinna Vinschen wrote:
 
  Looks good to me.  As you probably noticed, I didn't manage to move
  the db functions into rebase-dump.c so far, though.  Otherwise there
  wouldn't be a need to have your own load_image_info function.
  
  Do you want me to do that before or after you applied your patch?
 
 (a) I figured it should come after, and (b) at first, rebase-dump
 probably just needs to rename its version of load_image_info to avoid
 conflicts, since the two versions are (slightly) different.
 
 I agree that rebase-dump.exe SHOULD use the same load_image_info() that
 the real rebase.exe does, but that ought to be a third patch IMO.
 Because rebase-dump's version needs a SMALL rewrite to use the dump_*
 functions -- and dump_*_entry needs a tiny tweak to make that work right
 -- but most importantly, the new combined load_image_info needs to have
 the 'verbose' option passed down.
 
 So, in your patch, I think just ignoring rebase-dump entirely --
 /except/ for changing the name of its load_image_info -- is the way to
 go. Then I'll post a third patch, discussed separately, that tries to
 merge the two versions.

Hmm.  I just figured that moving the entire db stuff into rebase-db.c
isn't as simple as I imagined.  Functions and global variables are
pretty much intertwined in a non modular way.

I assume you might just go ahead and apply your dumper and we get
a new rebase package out of the door.  We can clean this up later.

Idle musing: I think we should create some sort of global settings
structure which can be used as a parameter or something...


Corinna

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


Re: [Patch] Add rebase-dump application to rebase package

2011-08-03 Thread Charles Wilson
On 8/3/2011 4:30 AM, Corinna Vinschen wrote:
 Hmm.  I just figured that moving the entire db stuff into rebase-db.c
 isn't as simple as I imagined.  Functions and global variables are
 pretty much intertwined in a non modular way.

Yep...I had similar, but much smaller, issues when moving the dump_*
methods to rebase-db.[h,c].  This will be a non-trivial refactoring.

 I assume you might just go ahead and apply your dumper and we get
 a new rebase package out of the door.  We can clean this up later.

Ack.  Given Jason hasn't reponded to my patch, and your positive review,
I've invoked the libtool 3-day rule and committed it.

 Idle musing: I think we should create some sort of global settings
 structure which can be used as a parameter or something...

Yep. That's typically the way I handle these issues, even in very simple
apps that don't need it -- 'cause they ALWAYS grow to become non-simple,
and it's a lot harder to add it later. :-)

But that can also wait until after the next release.  AFAICT, we're
ready to go -- so it's up to Jason to bump the library and application
version numbers, tag it in cvs, and publish a new package.

Jason?

--
Chuck


Re: SETUP: default to mintty

2011-08-03 Thread Charles Wilson
On 8/3/2011 10:43 AM, Corinna Vinschen wrote:
 Ok, here's my final(?) patch to make setup install mintty as Cygwin
 Terminal desktop and start menu entries.  Apart from the cygwin.ico
 file, there's now also a cygwin-terminal.ico file and a cygwin-setup.ico
 file.  The latter is used as the default application icon.  Only the
 first two are installed into / as Cygwin.ico and Cygwin-Terminal.ico.
 
 See below for the patch.  Attached are the new ico files for the setup
 repository.  If that's fine with everybody, Andy will also have to
 change the mintty postinstall script so that the mintty entry is not
 added to the start menu anymore.

Builds fine for me, and works as advertised with new pretty icons.  One
thing of note: I haven't locally built setup since January, and even
after stripping and upx'ing:

-rwxrwxr-x  1 user group 889K Aug  3 11:33 setup.exe*
-rwxrwxr-x  1 user group 648K Jan 26  2011 setup.exe-save*

Most -- but not all -- of that is due to the new icons, which are only:

-rw-rw-r-- 1 user group 34K Aug  3 11:20 cygwin.ico
-rw-rw-r-- 1 user group 65K Aug  3 11:20 cygwin-setup.ico
-rw-rw-r-- 1 user group 80K Aug  3 11:20 cygwin-terminal.ico

I guess Jon's changes have added a lot of code :-)

I'll wait until (a) a new setup with these changes and new icons has
been 'officially' released, and (b) it's had time to 'settle', before
attempting to add the new ico's to the cygicons dll.

--
Chuck


Re: SETUP: default to mintty

2011-08-03 Thread Andy Koppe
On 3 August 2011 15:43, Corinna Vinschen wrote:
 On Jul 27 17:52, Corinna Vinschen wrote:
 On Jul 27 16:15, Andy Koppe wrote:
  On 27 July 2011 10:43, Corinna Vinschen wrote:
   On Jul 27 09:07, Andy Koppe wrote:
   On 27 July 2011 08:46, Corinna Vinschen wrote:
On Jul 27 08:24, Andy Koppe wrote:
I meant cygicons-0.dll,9.
   
Yes, I like that one, too.  we could use it as the default 48x48 and
64x64 icons.  Per the MSFT guidelines in
http://msdn.microsoft.com/en-us/library/aa511280.aspx#size, smaller
sizes should stick to a 2D look.  Maybe we can simply use the old
icon for these sizes?
  
   The way I understand it, I think it's just that they shouldn't use
   perspective. Compare for example the drive icons in the Computer
   window, where they appear tilted in the main part of the window, but
   straight-on at 16x16 in the sidebar. The small icons do still have
   some depth to them.
  
   Well, ok.  I was just thinking that at 16x16 there's no such thing
   as edginess.  And at that size an icon should make a rather clear,
   simple impression.
 
  FWIW, 'cygicons-0.dll,9' looks better to me even at 16x16, not least
  because of the anti-aliasing. Also, it's this size that appears in the
  upper-left corner of windows, and I think it's good to have this
  correspond closely to the 32x32 icon appearing in the Windows 7
  taskbar.

 Fine with me.

 Ok, here's my final(?) patch to make setup install mintty as Cygwin
 Terminal desktop and start menu entries.  Apart from the cygwin.ico
 file, there's now also a cygwin-terminal.ico file and a cygwin-setup.ico
 file.  The latter is used as the default application icon.  Only the
 first two are installed into / as Cygwin.ico and Cygwin-Terminal.ico.

 See below for the patch.  Attached are the new ico files for the setup
 repository.

The Cygwin-Terminal.ico isn't good enough IMNSHO, and I'm disappointed
with how this has suddenly become the official proposal, riding
roughshod over much of the previous discussions.

- Above you'd agreed that fatbuttlarry's bulgy icon was fine in the
16x16 version, and that was before making it bigger and turning its
outline grey to lose that eerie look. Yet here we are with a murky
flat effort that looks no better than ye olde Cygwin.ico. (This size
is used for the window icon, so arguably this is the most important
one.)

- The terminal frame at the 32..64 sizes isn't as sharp as it could
be, because it's copied from one of my attempts before I worked out
how to render it like in the original Konsole icon.

- The 256x256 version still has Warren's dark border around the
terminal. Not only is this spoiling the KDE Oxygen team's work, but it
also makes it pointlessly different from the smaller versions.
Furthermore, the C still has rough corners due to the bottom line
being too low, and its shadow makes little visual sense inside the
terminal frame.

- The Cygwin-symbol-in-terminal approach remains a dodgy compromise.
It doesn't fit into 16x16, and as Warren pointed out, the removal of
the prompt means that the terminal is hard to recognise as such. I
can't remember a case for why this compromise is preferable over the
Cygwin symbol on its own.

To avoid being entirely negative, here's my proposal: forget about
Cygwin-terminal.ico and just use Cygwin.ico.

I like the setup.exe parcel idea, but this also needs improvements. In
particular, the 16x16 version doesn't work, with the parcel just an
ill-defined grey blob behind the C. Also, the shadow behind the C on
the 256x256 makes even less visual sense here than in the terminal
frame.

 Andy will also have to
 change the mintty postinstall script so that the mintty entry is not
 added to the start menu anymore.

Yep. (That should make for a fair few complaints about how mintty has
suddenly disappeared from the start menu though.)

Andy


Re: SETUP: default to mintty

2011-08-03 Thread Warren Young

On 8/3/2011 2:37 PM, Andy Koppe wrote:


- The 256x256 version still has Warren's dark border around the
terminal. Not only is this spoiling the KDE Oxygen team's work,


There's a 50% transparent black (so, gray when composited over white) 
border in the original KDE artwork.  Are you saying you want to drop 
this, and make it like the silver terminal bezel goes to the icon edge?



To avoid being entirely negative, here's my proposal: forget about
Cygwin-terminal.ico and just use Cygwin.ico.


What's wrong with using the lone Cygwin logo in 16 px through 32 px, 
then switching to logo-in-terminal for 48 px and up where there's enough 
resolution to allow it?


Re: 256x256 px icons

2011-08-03 Thread Andy Koppe
On 2 August 2011 16:24, Corinna Vinschen wrote:
 On Aug  2 15:49, Andy Koppe wrote:
 On 1 August 2011 21:05, Andy Koppe wrote:
  On 1 August 2011 09:07, Corinna Vinschen wrote:
  On Jul 31 21:21, Andy Koppe wrote:
  On 30 July 2011 21:22, Andy Koppe wrote:
   On 30 July 2011 19:36, Corinna Vinschen wrote:
   On Jul 29 21:29, Andy Koppe wrote:
   Attached is my take on this, with 64x64, 48x48, 32x32 showing
   fatbuttlarry's Cygwin symbol inside the Konsole icon, and 16x16
   showing the Cygwin symbol only.
  
   Not bad, but the green border around the C is too dark to set the
   C apart from the background.  The border needs some light grey which
   allows to recognize the C.
  
   I'm not sure how to do that, but the attached attempt turn up the
   saturation of the green outline.
  
   It also reduces the blurriness of the whole thing a bit. Apparently
   it's better to convert an SVG to a high-res bitmap and resize that
   down with a bitmap program such as Paint.net instead of converting the
   SVG straight to the target bitmap sizes (at least when using
   InkScape).
  
   The two attached icons differ at size 32: cygwin-terminal2.ico has the
   Cygwin-in-terminal there, whereas cygwin-terminal3.ico has just the
   Cygwin symbol. Size 32 shows up in the Windows 7 taskbar.
 
  Further to those two, here's one with the glowy Cygwin symbol all the
  way from size 16 to 64. It's a remastered version of the one in
  cygutils; a bit bigger and with the aforementioned brighter green
  outline around the C.
 
  Thanks.  But, hmm.  The longer I play with it, the less I like the green
  glow.  It adds an eerie touch to the C
 
  Now what's wrong with that? Cygwin - mean and a bit eerie. ;)
 
  and it still doesn't set the C
  really apart on dark backgrounds.
 
  I disagree, looking at a desktop with a darkish picture and dark grey
  taskbar and window borders.
 
  I think we should go with a grey outline.
 
  I did eventually work out how to turn the outline of fatbuttlarry's
  icon grey. See attachments.

 Having used both variants for a while, I agree that a grey outline
 does look better.

 I tried your icons on my desktop and the standalone icon looks good.  In
 the terminal icons the beveled C looks better than the fatbuttlarry C,
 cleaner, crisper.

I think it would be better to stick to one. I don't particularly mind
which, in principle anyway.

Warren's has the advantage of a 256 version and that it's more
tweakable assuming he provides the vector version it's presumably
based on. It does need to lose that shadow though, and have the bottom
edge fixed. Also, the bottom half of the green triangle is a bit on
the dark side.

 It's also easier to distinguish from the dark
 background, but that's probably just because you used a darker shade
 of grey for the frame.  In the terminal window, a lighter grey really
 doesn't hurt.

It's pretty much the same grey actually (~220), at full size anyway.
But the border is thinner and/or partially transparent in larry's.
Therefore, when scaling it down, it blends into the background more.

 Generally it looks like your C's are a pixel or two smaller, except in
 the smallest sizes.  Gimp shows that you're always leaving a transparent
 frame of at least one pixel.  Any reason for that?

Not really. Just seemed a prudent thing to do when cutting it out of
the original, but you're right, there's no need for this, and I'd be
happy to redo it.

Andy


Re: AW: AltGr key mostly fires an additional CONTROL key

2011-08-03 Thread Jon TURNEY



The actual issue here is that Windows apparently inserts a fake Ctrl-L
keypress/release when AltGr is pressed/released (except when the keyboard
layout is US).  I have never found any documentation of this behavior, and
I've no idea why it does this.

There is some code in the X server which attempts to detect and discard these
fake keypress/release events, but it not working reliably for some people has
been reported a few times, but I've never been able to reproduce the problem
or get to the bottom of what causes it.

If you are willing to help, I've put together a test build with some extra
debugging at [1].  If you could run that with '-logverbose 3' as before and
attach the output, that would be helpful.

[1] ftp://cygwin.com/pub/cygwinx/XWin.20110801-git-2d9f9305cb559907.exe.bz2


no problem - here we go:
The logs are attached.

This is what I did:

1. /bin/startxwin -- XWin.20110801-git-2d9f9305cb559907.exe -emulate3buttons 
100 -logverbose 3
2. It took me more attempts than usual to reproduce it, therefore the 
interesting part will be at the end of the log.
3. I manually killed the X-Server and took the log.
4. XWin.0.log is the full log of the session.
5. xev.txt: I have taken only the interesting part.

My session in detail:

I pressed several times AltGr and Q, nothing special, I get @ (it doesn't 
happen always - just then and when).
I hold down AltGr for 2 seconds ... I play around.
Then I get into the bug:
I press AltGr and Q, then release both keys: I get CHAR 00.
I just hit key A and instead of a I get CHAR 01 = CONTROL-A.
I just hit key C and instead of c I get CHAR 03 = CONTROL-C.
Then I (first time) hit the real CONTROL key to unlock that situation. In the 
xev-log you see only(!) a ReleaseEvent at that point.
Then I press AltGr and Q again and I get CHAR HEX 40 = letter @.
I hit key A and get a.


Thanks for the logs, that was very useful.

I still can't reproduce this (although holding AltGr down to make it 
autorepeat seems the best way to try to do that).  It is a timing issue with 
the keypress/release messages so it might be sensitive to CPU speed, or 
perhaps you have some software installed which looks at keypress/release 
messages and changes the timing?


I've had a go at fixing it.  Can you please try the build I've uploaded at [1] 
and see if it still shows the problem for you?


[1] ftp://cygwin.com/pub/cygwinx/XWin.20110803-git-a493c0465e56ce0b.exe.bz2

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



Unable to open socket for inet

2011-08-03 Thread J T Halliley
Just installed Cygwin/X on WIndows XP Pro, Version 2002, SP 3.
When I invoke startxwin, here's what I get:

--
bash startxwin

Welcome to the XWin X Server
Vendor: The Cygwin/X Project
Release: 1.10.3.0
OS: Windows XP Service Pack 3 [Windows NT 5.1 build 2600] (Win32)
Package: version 1.10.3-1 built 2011-07-19

XWin was started with the following command line:

X :0 -multiwindow 

_XSERVTransSocketOpenCOTSServer: Unable to open socket for inet6
_XSERVTransOpen: transport open failed for inet6/GP3JDP1-E6410:0
_XSERVTransMakeAllCOTSServerListeners: failed to open listener for inet6
_XSERVTransSocketOpenCOTSServer: Unable to open socket for inet
_XSERVTransOpen: transport open failed for inet/GP3JDP1-E6410:0
_XSERVTransMakeAllCOTSServerListeners: failed to open listener for inet
_XSERVTransSocketOpenCOTSServer: Unable to open socket for local
_XSERVTransOpen: transport open failed for local/GP3JDP1-E6410:0
_XSERVTransMakeAllCOTSServerListeners: failed to open listener for local

Fatal server error:
Cannot establish any listening sockets - Make sure an X server isn't 
already running
winDeinitMultiWindowWM - Noting shutdown in progress
--

It seems as though there's a general networking issue: 

--
bash ping 127.0.0.1
icmp: unknown protocol
--

but using Windows ping from a DOS prompt works fine:

--
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\ping 127.0.0.1

Pinging 127.0.0.1 with 32 bytes of data:

Reply from 127.0.0.1: bytes=32 time1ms TTL=128
Reply from 127.0.0.1: bytes=32 time1ms TTL=128
Reply from 127.0.0.1: bytes=32 time1ms TTL=128

Ping statistics for 127.0.0.1:
Packets: Sent = 3, Received = 3, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
Control-C
^C
C:\
--

I am in the Administrators group, so raw sockets should work.  We do run 
McAfee, so that could be an issue.

Any ideas?  Both for XWin and for ping?  Are they related?

Thanks,
Tom

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



AW: AW: AltGr key mostly fires an additional CONTROL key

2011-08-03 Thread Paul Maier
 Thanks for the logs, that was very useful.
 
 I still can't reproduce this (although holding AltGr down to make it
 autorepeat seems the best way to try to do that).  It is a timing issue with
 the keypress/release messages so it might be sensitive to CPU speed, or
 perhaps you have some software installed which looks at keypress/release
 messages and changes the timing?
 
 I've had a go at fixing it.  Can you please try the build I've uploaded at [1]
 and see if it still shows the problem for you?
 
 [1] ftp://cygwin.com/pub/cygwinx/XWin.20110803-git-a493c0465e56ce0b.exe.bz2


Hi Jon,

works fine for me. I Played around quite a while, but the CONTROL-locking 
didn't occur any more. Yippie!
Is it ok, if I leave the hotfix file permanently in on my PC (I mean, did you 
base it on a recent XWin released version with just my
bug fix in - or is there other experimental stuff inside?), then I'll use it 
automatically during work and I can let you know in
case of problems.

I wouldn't have started a thread with the following, but since we have already 
started looking at this keyboard, maybe you are
interested in some of these:

Tilde sign (~) should be a normal (not a blind) key.
  In Windows I hit AltGr++ to get ~, in XWin I need to type AltGr++ then 
space to get a ~.
  See attachment for the initial XWin xmodmap -pke table.
  Possible xmodmap correction (works fine):
  keycode  35 = plus asterisk plus asterisk asciitilde

Euro Currency sign doesn't work.
  I know - it's not a latin1 character, but together with CP1252 this xmodmap 
correction works like Windows:
  keycode  26 = e E e E 0x0080

ALT+Space produces a NBSP character (HEX A0) in Windows, but not in XWin.
  xmodmap correction is unfortunately not possible, because the xmodmap setting 
on ISO_Level3_Shift+Space is just thrown away:
  Something like
  keycode  65 = space NoSymbol space NoSymbol nobreakspace
  or
  keycode  65 = space space space space nobreakspace
  doesn't work: it's discarded and the setting is not shown on a xmodmap -pke.
  So I put nobreakspace to the fifth place of another key - there it works.
  That would be good if key 65 (space key) would accept above xmodmap setting 
or have it initially.

Number block is not working.
  See attachment for the initial XWin xmodmap -pke table (all these KP_* 
settings look good at the first sight, but the keys don't
produce numbers).
  Possible xmodmap correction (works fine):
  keycode  63 = asterisk asterisk
  keycode  79 = 7 7
  keycode  80 = 8 8
  keycode  81 = 9 9
  keycode  82 = minus minus
  keycode  83 = 4 4
  keycode  84 = 5 5
  keycode  85 = 6 6
  keycode  86 = plus plus
  keycode  87 = 1 1
  keycode  88 = 2 2
  keycode  89 = 3 3
  keycode  90 = 0 0
  keycode  91 = period period
  keycode 108 = Return Return
  keycode 112 = slash slash

Regards,
  Paul

keycode   8 =
keycode   9 = Escape NoSymbol Escape
keycode  10 = 1 exclam 1 exclam onesuperior exclamdown onesuperior
keycode  11 = 2 quotedbl 2 quotedbl twosuperior oneeighth twosuperior
keycode  12 = 3 section 3 section threesuperior sterling threesuperior
keycode  13 = 4 dollar 4 dollar onequarter currency onequarter
keycode  14 = 5 percent 5 percent onehalf threeeighths onehalf
keycode  15 = 6 ampersand 6 ampersand notsign fiveeighths notsign
keycode  16 = 7 slash 7 slash braceleft seveneighths braceleft
keycode  17 = 8 parenleft 8 parenleft bracketleft trademark bracketleft
keycode  18 = 9 parenright 9 parenright bracketright plusminus bracketright
keycode  19 = 0 equal 0 equal braceright degree braceright
keycode  20 = ssharp question ssharp question backslash questiondown U1E9E
keycode  21 = dead_acute dead_grave dead_acute dead_grave dead_cedilla 
dead_ogonek dead_cedilla
keycode  22 = BackSpace NoSymbol BackSpace
keycode  23 = Tab ISO_Left_Tab Tab ISO_Left_Tab
keycode  24 = q Q q Q at Greek_OMEGA at
keycode  25 = w W w W lstroke Lstroke lstroke
keycode  26 = e E e E EuroSign EuroSign EuroSign
keycode  27 = r R r R paragraph registered paragraph
keycode  28 = t T t T tslash Tslash tslash
keycode  29 = z Z z Z leftarrow yen leftarrow
keycode  30 = u U u U downarrow uparrow downarrow
keycode  31 = i I i I rightarrow idotless rightarrow
keycode  32 = o O o O oslash Oslash oslash
keycode  33 = p P p P thorn THORN thorn
keycode  34 = udiaeresis Udiaeresis udiaeresis Udiaeresis dead_diaeresis 
dead_abovering dead_diaeresis
keycode  35 = plus asterisk plus asterisk dead_tilde dead_macron dead_tilde
keycode  36 = Return NoSymbol Return
keycode  37 = Control_L NoSymbol Control_L
keycode  38 = a A a A ae AE ae
keycode  39 = s S s S U017F U1E9E U017F
keycode  40 = d D d D eth ETH eth
keycode  41 = f F f F dstroke ordfeminine dstroke
keycode  42 = g G g G eng ENG eng
keycode  43 = h H h H hstroke Hstroke hstroke
keycode  44 = j J j J dead_belowdot dead_abovedot dead_belowdot
keycode  45 = k K k K kra ampersand kra
keycode  46 = l L l L lstroke Lstroke lstroke
keycode  47 = odiaeresis Odiaeresis odiaeresis Odiaeresis dead_doubleacute

XWin -ignoremousewheelpress

2011-08-03 Thread Paul Maier
Hi Jon,

maybe you are interested in this idea:

The wheel of a wheel mouse also working as middle mouse button can be quite 
annoying, when you accidently paste lots of lines into
an xterm while scrolling up and down.

I thought an option -ignoremousewheelpress to XWin would be a great 
enhancement. Scrolling were possible, but clicking the wheel
were ignored.
(Using it would only make sense together with -emulate3buttons.)

Luckily I found another mouse driver which allowed me to diable this directly 
on Windows, so it's fine for me, but such a mouse
driver might not be available for all mice.

Regards,
  Paul



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



xterm: scrollbar bug

2011-08-03 Thread Paul Maier
Hi,

I wanted to ask if it's already known, with which release xterm's scrollbar bug 
will be resolved.

Thanks!
  Paul



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



src/winsup/cygwin ChangeLog cygtls.cc cygtls.h ...

2011-08-03 Thread yselkowitz
CVSROOT:/cvs/src
Module name:src
Changes by: yselkow...@sourceware.org   2011-08-03 11:40:48

Modified files:
winsup/cygwin  : ChangeLog cygtls.cc cygtls.h exceptions.cc 
 hires.h ntdll.h signal.cc thread.cc thread.h 
 times.cc tlsoffsets.h wait.cc 

Log message:
* cygtls.h (struct _local_storage): Add cw_timer member.
* cygtls.cc (_cygtls::init_thread): Initialize locals.cw_timer.
(_cygtls::fixup_after_fork): Ditto.
* tlsoffsets.h: Regenerate.
* ntdll.h (enum _TIMER_INFORMATION_CLASS): Define.
(struct _TIMER_BASIC_INFORMATION): Define.
(NtQueryTimer): Declare function.
* thread.h (cancelable_wait): Change timeout argument to
PLARGE_INTEGER and provide NULL default.
(fast_mutex::lock): Adjust accordingly.
(pthread_cond::wait): Change timeout argument to PLARGE_INTEGER
and default to NULL.
* thread.cc (cancelable_wait): Change timeout argument to
PLARGE_INTEGER.  Initialize _cygtls.locals.cw_timer if needed.
Use NT waitable timers for handling timeout.  Return remaining time
to timeout argument if timeout was relative.
(pthread_cond::wait): Change timeout argument to PLARGE_INTEGER.
Adjust to change in cancelable_wait.
(pthread_mutex::lock): Adjust to change in cancelable_wait.
(pthread_spinlock::lock): Ditto.
(pthread::join): Ditto.
(__pthread_cond_dowait): Change waitlength argument to PLARGE_INTEGER.
Adjust to changes in cancelable_wait and pthread_cond::wait.
(pthread_cond_timedwait): Adjust to change in __pthread_cond_dowait.
(pthread_cond_wait): Ditto.
(semaphore::_timedwait): Adjust to change in cancelable_wait.
(semaphore::_wait): Ditto.
* exceptions.cc (handle_sigsuspend): Ditto.
* signal.cc (nanosleep): Ditto.
* wait.cc (wait4): Ditto. Fix copyright dates.
* times.cc (FACTOR, NSPERSEC): Move from here...
* hires.h (FACTOR, NSPERSEC): ...to here.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/ChangeLog.diff?cvsroot=srcr1=1.5464r2=1.5465
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/cygtls.cc.diff?cvsroot=srcr1=1.76r2=1.77
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/cygtls.h.diff?cvsroot=srcr1=1.72r2=1.73
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/exceptions.cc.diff?cvsroot=srcr1=1.359r2=1.360
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/hires.h.diff?cvsroot=srcr1=1.19r2=1.20
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/ntdll.h.diff?cvsroot=srcr1=1.125r2=1.126
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/signal.cc.diff?cvsroot=srcr1=1.98r2=1.99
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/thread.cc.diff?cvsroot=srcr1=1.244r2=1.245
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/thread.h.diff?cvsroot=srcr1=1.122r2=1.123
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/times.cc.diff?cvsroot=srcr1=1.110r2=1.111
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/tlsoffsets.h.diff?cvsroot=srcr1=1.47r2=1.48
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/wait.cc.diff?cvsroot=srcr1=1.37r2=1.38



winsup/cygwin ChangeLog dll_init.cc sigproc.cc ...

2011-08-03 Thread cgf
CVSROOT:/cvs/uberbaum
Module name:winsup
Changes by: c...@sourceware.org 2011-08-03 17:59:00

Modified files:
cygwin : ChangeLog dll_init.cc sigproc.cc 
cygwin/include/sys: strace.h 

Log message:
* dll_init.cc: Use fabort in favor of api_fatal and fork_info-abort 
where
appropriate throughout.
(fabort): Define.
(dll_list::topsort): Don't print sorting information.  Fix formatting.
(dll_list::topsort_visit): Fix formatting.
(dll_list::load_after_fork_impl): Perform comment fixups.
* sigproc.cc (child_info_fork::abort): (for now?) Always print cause of 
fork
failure.
* include/sys/strace.h (strace_vprintf): Remove _STRACE_NOTALL when 
printing.
We really do want to see this.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/ChangeLog.diff?cvsroot=uberbaumr1=1.5465r2=1.5466
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/dll_init.cc.diff?cvsroot=uberbaumr1=1.94r2=1.95
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/sigproc.cc.diff?cvsroot=uberbaumr1=1.340r2=1.341
http://sourceware.org/cgi-bin/cvsweb.cgi/winsup/cygwin/include/sys/strace.h.diff?cvsroot=uberbaumr1=1.27r2=1.28



src/winsup/cygwin ChangeLog cygwin.din posix.s ...

2011-08-03 Thread yselkowitz
CVSROOT:/cvs/src
Module name:src
Changes by: yselkow...@sourceware.org   2011-08-03 14:17:02

Modified files:
winsup/cygwin  : ChangeLog cygwin.din posix.sgml signal.cc 
 thread.cc 
winsup/cygwin/include/cygwin: version.h 

Log message:
* cygwin.din (clock_nanosleep): Export.
* posix.sgml (std-notimpl): Move clock_nanosleep from here...
(std-susv4): ... to here.
(std-notes): Note limitations of clock_nanosleep.
* signal.cc (clock_nanosleep): Renamed from nanosleep, adding clock_id
and flags arguments and changing return values throughout.
Improve checks for illegal rqtp values.  Add support for
CLOCK_MONOTONIC and TIMER_ABSTIME.
(nanosleep): Rewrite in terms of clock_nanosleep.
(sleep): Ditto.
(usleep): Ditto.
* thread.cc: Mark clock_nanosleep in list of cancellation points.
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/ChangeLog.diff?cvsroot=srcr1=1.5466r2=1.5467
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/cygwin.din.diff?cvsroot=srcr1=1.245r2=1.246
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/posix.sgml.diff?cvsroot=srcr1=1.69r2=1.70
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/signal.cc.diff?cvsroot=srcr1=1.99r2=1.100
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/thread.cc.diff?cvsroot=srcr1=1.245r2=1.246
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/include/cygwin/version.h.diff?cvsroot=srcr1=1.350r2=1.351



src/winsup/doc ChangeLog new-features.sgml

2011-08-03 Thread yselkowitz
CVSROOT:/cvs/src
Module name:src
Changes by: yselkow...@sourceware.org   2011-08-03 14:18:07

Modified files:
winsup/doc : ChangeLog new-features.sgml 

Log message:
* new-features.sgml (ov-new1.7.10): Document new POSIX Clock Selection
option APIs.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/doc/ChangeLog.diff?cvsroot=srcr1=1.357r2=1.358
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/doc/new-features.sgml.diff?cvsroot=srcr1=1.87r2=1.88



Re: [PATCH] clock_nanosleep(2)

2011-08-03 Thread Yaakov (Cygwin/X)
On Tue, 2011-08-02 at 17:42 +0200, Corinna Vinschen wrote:
 Does that mean the return value from NtQueryTimer is unreliable?
 In what way is it wrong?  

I'm not sure.  When I run an STC (attached), it works as expected.  In
cancelable_wait(), however, it returns the negative system uptime.  Is
Cygwin doing something to make this occur?

 Does nanosleep wait too long or not long enough?

That doesn't seem to be an issue.

 If NtQueryTimer is unusable, maybe we should just skip the idea to return
 the remaining time from cancelabel_wait and simply use the return
 value from hires_ms::timeGetTime_ns() to return the remaining time
 from {clock_}nanosleep

I'd rather avoid this type of workaround, particularly with
clock_nanosleep having to deal with CLOCK_MONOTONIC as well.

  and the pthread_spin chunk doesn't look right (previously
  the timeout would repeat in the while loop, but that won't happen the
  way the waitable timer is set up).
 
 It doesn't look wrong to me, but then again, I didn't test it...

You're right, since we pay no attention to the return value of
cancelable_wait() here.


Yaakov

#pragma CCOD:script no
#pragma CCOD:options -lntdll

#include stdlib.h
#include stdio.h
#include windows.h
#include ddk/ntapi.h

int main(void) {
  HANDLE timer;
  LARGE_INTEGER li;
  PTIMER_BASIC_INFORMATION tbi;
  const size_t sizeof_tbi = sizeof (TIMER_BASIC_INFORMATION);
  int i;

  li.QuadPart = -2000LL;

  NtCreateTimer (timer, TIMER_ALL_ACCESS, NULL, NotificationTimer);

  for (i = 0; i  10; i++)
{
  NtSetTimer (timer, li, NULL, NULL, FALSE, 0, NULL);
  WaitForSingleObject (timer, 1000);

  tbi = (PTIMER_BASIC_INFORMATION) malloc (sizeof_tbi);
  NtQueryTimer (timer, TimerBasicInformation, tbi, sizeof_tbi, NULL);
  NtCancelTimer (timer, NULL);

  printf (%ld.%09ld\n, (long) (tbi-TimeRemaining.QuadPart / 1000LL),
	  (long) ((tbi-TimeRemaining.QuadPart % 1000LL) * 100LL));
}

  NtClose (timer);

  return 0;
}


Re: [PATCH] clock_nanosleep(2)

2011-08-03 Thread Corinna Vinschen
On Aug  3 01:20, Yaakov (Cygwin/X) wrote:
 On Tue, 2011-08-02 at 17:42 +0200, Corinna Vinschen wrote:
  Does that mean the return value from NtQueryTimer is unreliable?
  In what way is it wrong?  
 
 I'm not sure.  When I run an STC (attached), it works as expected.  In
 cancelable_wait(), however, it returns the negative system uptime.  Is
 Cygwin doing something to make this occur?

That sounds weird.  How should Cygwin influence what an independent OS
function returns?  And you sure it's the system uptime?  Wow.

I'll have a look into that, but I doubt I see more than you.


Corinna

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


Re: [PATCH] clock_nanosleep(2)

2011-08-03 Thread Yaakov (Cygwin/X)
On Wed, 2011-08-03 at 09:45 +0200, Corinna Vinschen wrote:
 On Aug  3 01:20, Yaakov (Cygwin/X) wrote:
  On Tue, 2011-08-02 at 17:42 +0200, Corinna Vinschen wrote:
   Does that mean the return value from NtQueryTimer is unreliable?
   In what way is it wrong?  
  
  I'm not sure.  When I run an STC (attached), it works as expected.  In
  cancelable_wait(), however, it returns the negative system uptime.  Is
  Cygwin doing something to make this occur?
 
 That sounds weird.  How should Cygwin influence what an independent OS
 function returns?  And you sure it's the system uptime?  Wow.

Never mind, I figured it out.  The difference is the timeout to
WaitFor*Object*(); my STC doesn't allow the timer to finish, but
cancelable_wait() does with the INFINITE timeout.  If there is time
remaining, as in the STC, then TIMER_BASIC_INFORMATION.TimeRemaining
contains just that (as a positive).  If the timer has signalled, then
instead of zero, it appears to provide when it was signalled (system
uptime, as a negative).

With that figured out, here's a revised patch.  Once this is in, then
adding clock_nanosleep() should be relatively easy.


Yaakov

2011-08-03  Yaakov Selkowitz  yselkowitz@...

	* cygtls.h (struct _local_storage): Add cw_timer member.
	* cygtls.cc (_cygtls::init_thread): Initialize locals.cw_timer.
	(_cygtls::fixup_after_fork): Ditto.
	* tlsoffsets.h: Regenerate.
	* ntdll.h (enum _TIMER_INFORMATION_CLASS): Define.
	(struct _TIMER_BASIC_INFORMATION): Define.
	(NtQueryTimer): Declare function.
	* thread.h (cancelable_wait): Change timeout argument to
	PLARGE_INTEGER and provide NULL default.
	(fast_mutex::lock): Adjust accordingly.
	(pthread_cond::wait): Change timeout argument to PLARGE_INTEGER
	and default to NULL.
	* thread.cc (cancelable_wait): Change timeout argument to
	PLARGE_INTEGER.  Initialize _cygtls.locals.cw_timer if needed.
	Use NT waitable timers for handling timeout.  Return remaining time
	to timeout argument if timeout was relative.
	(pthread_cond::wait): Change timeout argument to PLARGE_INTEGER.
	Adjust to change in cancelable_wait.
	(pthread_mutex::lock): Adjust to change in cancelable_wait.
	(pthread_spinlock::lock): Ditto.
	(pthread::join): Ditto.
	(__pthread_cond_dowait): Change waitlength argument to PLARGE_INTEGER.
	Adjust to changes in cancelable_wait and pthread_cond::wait.
	(pthread_cond_timedwait): Adjust to change in __pthread_cond_dowait.
	(pthread_cond_wait): Ditto.
	(semaphore::_timedwait): Adjust to change in cancelable_wait.
	(semaphore::_wait): Ditto.
	* exceptions.cc (handle_sigsuspend): Ditto.
	* signal.cc (nanosleep): Ditto.
	* wait.cc (wait4): Ditto.
	* times.cc (FACTOR, NSPERSEC): Move from here...
	* hires.h (FACTOR, NSPERSEC): ...to here.

Index: cygtls.cc
===
RCS file: /cvs/src/src/winsup/cygwin/cygtls.cc,v
retrieving revision 1.76
diff -u -p -r1.76 cygtls.cc
--- cygtls.cc	21 Apr 2011 08:10:28 -	1.76
+++ cygtls.cc	29 Jul 2011 05:56:31 -
@@ -98,6 +98,7 @@ _cygtls::init_thread (void *x, DWORD (*f
   thread_id = GetCurrentThreadId ();
   initialized = CYGTLS_INITIALIZED;
   errno_addr = (local_clib._errno);
+  locals.cw_timer = NULL;
 
   if ((void *) func == (void *) cygthread::stub
   || (void *) func == (void *) cygthread::simplestub)
@@ -127,6 +128,7 @@ _cygtls::fixup_after_fork ()
 }
   stacklock = spinning = 0;
   locals.select.sockevt = NULL;
+  locals.cw_timer = NULL;
   wq.thread_ev = NULL;
 }
 
Index: cygtls.h
===
RCS file: /cvs/src/src/winsup/cygwin/cygtls.h,v
retrieving revision 1.72
diff -u -p -r1.72 cygtls.h
--- cygtls.h	28 May 2011 18:17:08 -	1.72
+++ cygtls.h	29 Jul 2011 05:56:31 -
@@ -131,6 +131,9 @@ struct _local_storage
   int setmode_file;
   int setmode_mode;
 
+  /* thread.cc */
+  HANDLE cw_timer;
+
   /* All functions requiring temporary path buffers. */
   tls_pathbuf pathbufs;
   char ttybuf[32];
Index: exceptions.cc
===
RCS file: /cvs/src/src/winsup/cygwin/exceptions.cc,v
retrieving revision 1.359
diff -u -p -r1.359 exceptions.cc
--- exceptions.cc	13 Jul 2011 17:53:21 -	1.359
+++ exceptions.cc	29 Jul 2011 05:56:32 -
@@ -719,7 +719,7 @@ handle_sigsuspend (sigset_t tempmask)
   sigproc_printf (oldmask %p, newmask %p, oldmask, tempmask);
 
   pthread_testcancel ();
-  cancelable_wait (signal_arrived, INFINITE);
+  cancelable_wait (signal_arrived);
 
   set_sig_errno (EINTR);	// Per POSIX
 
Index: hires.h
===
RCS file: /cvs/src/src/winsup/cygwin/hires.h,v
retrieving revision 1.19
diff -u -p -r1.19 hires.h
--- hires.h	17 May 2011 17:08:09 -	1.19
+++ hires.h	29 Jul 2011 05:56:32 -
@@ -29,6 +29,11 @@ details. */
and rounding won't exceed HIRES_DELAY_MAX */
 #define HIRES_DELAY_MAX UINT_MAX - 1) / 1000) * 1000) + 10)
 
+/* 100ns difference 

Re: [PATCH] clock_nanosleep(2)

2011-08-03 Thread Corinna Vinschen
On Aug  3 04:19, Yaakov (Cygwin/X) wrote:
 On Wed, 2011-08-03 at 09:45 +0200, Corinna Vinschen wrote:
  On Aug  3 01:20, Yaakov (Cygwin/X) wrote:
   On Tue, 2011-08-02 at 17:42 +0200, Corinna Vinschen wrote:
Does that mean the return value from NtQueryTimer is unreliable?
In what way is it wrong?  
   
   I'm not sure.  When I run an STC (attached), it works as expected.  In
   cancelable_wait(), however, it returns the negative system uptime.  Is
   Cygwin doing something to make this occur?
  
  That sounds weird.  How should Cygwin influence what an independent OS
  function returns?  And you sure it's the system uptime?  Wow.
 
 Never mind, I figured it out.  The difference is the timeout to
 WaitFor*Object*(); my STC doesn't allow the timer to finish, but
 cancelable_wait() does with the INFINITE timeout.  If there is time
 remaining, as in the STC, then TIMER_BASIC_INFORMATION.TimeRemaining
 contains just that (as a positive).  If the timer has signalled, then
 instead of zero, it appears to provide when it was signalled (system
 uptime, as a negative).

This is cool.  Does it match the tickcount as returned by
hires_ms::timeGetTime_ns()?  If so, it sounds like the return value from
NtQueryTimer *after* the NtCancelTimer call would be usable and probably
more reliable than calling NtQueryTimer first, then NtCancelTimer.

What do you think?


Corinna

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


Re: [PATCH] clock_nanosleep(2)

2011-08-03 Thread Yaakov (Cygwin/X)
On Wed, 2011-08-03 at 11:27 +0200, Corinna Vinschen wrote:
 On Aug  3 04:19, Yaakov (Cygwin/X) wrote:
  Never mind, I figured it out.  The difference is the timeout to
  WaitFor*Object*(); my STC doesn't allow the timer to finish, but
  cancelable_wait() does with the INFINITE timeout.  If there is time
  remaining, as in the STC, then TIMER_BASIC_INFORMATION.TimeRemaining
  contains just that (as a positive).  If the timer has signalled, then
  instead of zero, it appears to provide when it was signalled (system
  uptime, as a negative).
 
 This is cool.  Does it match the tickcount as returned by
 hires_ms::timeGetTime_ns()?  If so, it sounds like the return value from
 NtQueryTimer *after* the NtCancelTimer call would be usable and probably
 more reliable than calling NtQueryTimer first, then NtCancelTimer.
 
 What do you think?

The only thing that uses the remaining time is nanosleep(), which uses a
relative timeout.  Same thing will go for clock_nanosleep(): per POSIX,
rmtp is only returned if TIMER_ABSTIME is not set.  If we only care
about relative remainders, then calling NtQueryTimer first is the
simplest way to go, as in my patch.


Yaakov




Re: [PATCH] clock_nanosleep(2)

2011-08-03 Thread Corinna Vinschen
On Aug  3 04:35, Yaakov (Cygwin/X) wrote:
 On Wed, 2011-08-03 at 11:27 +0200, Corinna Vinschen wrote:
  On Aug  3 04:19, Yaakov (Cygwin/X) wrote:
   Never mind, I figured it out.  The difference is the timeout to
   WaitFor*Object*(); my STC doesn't allow the timer to finish, but
   cancelable_wait() does with the INFINITE timeout.  If there is time
   remaining, as in the STC, then TIMER_BASIC_INFORMATION.TimeRemaining
   contains just that (as a positive).  If the timer has signalled, then
   instead of zero, it appears to provide when it was signalled (system
   uptime, as a negative).
  
  This is cool.  Does it match the tickcount as returned by
  hires_ms::timeGetTime_ns()?  If so, it sounds like the return value from
  NtQueryTimer *after* the NtCancelTimer call would be usable and probably
  more reliable than calling NtQueryTimer first, then NtCancelTimer.
  
  What do you think?
 
 The only thing that uses the remaining time is nanosleep(), which uses a
 relative timeout.  Same thing will go for clock_nanosleep(): per POSIX,
 rmtp is only returned if TIMER_ABSTIME is not set.  If we only care
 about relative remainders, then calling NtQueryTimer first is the
 simplest way to go, as in my patch.

Yes, I know.  I was just wondering about the reliability factor of
the value returned by NtQueryTimer.  Using the absolute value after
the call to NtCancelTimer and subtracting the start time may be more
reliable.

But, never mind.  Your patch looks good to me.  Please apply.


Thanks,
Corinna

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


[PATCH] clock_nanosleep(2), round two

2011-08-03 Thread Yaakov (Cygwin/X)
Here's my second attempt at clock_nanosleep(2).  After what we dealt
with in round one, this should be a piece of cake.

http://pubs.opengroup.org/onlinepubs/9699919799/functions/clock_nanosleep.html
http://www.kernel.org/doc/man-pages/online/pages/man2/clock_nanosleep.2.html

Patches for winsup/cygwin and winsup/doc, plus a test program, attached.


Yaakov

2011-08-03  Yaakov Selkowitz  yselkowitz@...

	* cygwin.din (clock_nanosleep): Export.
	* posix.sgml (std-notimpl): Move clock_nanosleep from here...
	(std-susv4): ... to here.
	(std-notes): Note limitations of clock_nanosleep.
	* signal.cc (clock_nanosleep): Renamed from nanosleep, adding clock_id
	and flags arguments and changing return values throughout.
	Improve checks for illegal rqtp values.  Add support for
	CLOCK_MONOTONIC and TIMER_ABSTIME.
	(nanosleep): Rewrite in terms of clock_nanosleep.
	(sleep): Ditto.
	(usleep): Ditto.
	* thread.cc: Mark clock_nanosleep in list of cancellation points.
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.

Index: cygwin.din
===
RCS file: /cvs/src/src/winsup/cygwin/cygwin.din,v
retrieving revision 1.245
diff -u -p -r1.245 cygwin.din
--- cygwin.din	21 Jul 2011 09:39:21 -	1.245
+++ cygwin.din	3 Aug 2011 17:56:20 -
@@ -223,6 +223,7 @@ _clock = clock SIGFE
 clock_getcpuclockid SIGFE
 clock_getres SIGFE
 clock_gettime SIGFE
+clock_nanosleep SIGFE
 clock_setres SIGFE
 clock_settime SIGFE
 clog NOSIGFE
Index: posix.sgml
===
RCS file: /cvs/src/src/winsup/cygwin/posix.sgml,v
retrieving revision 1.69
diff -u -p -r1.69 posix.sgml
--- posix.sgml	21 Jul 2011 09:39:21 -	1.69
+++ posix.sgml	3 Aug 2011 17:56:20 -
@@ -92,6 +92,7 @@ also IEEE Std 1003.1-2008 (POSIX.1-2008)
 clock_getcpuclockid
 clock_getres
 clock_gettime
+clock_nanosleep		(see chapter Implementation Notes)
 clock_settime		(see chapter Implementation Notes)
 clog
 clogf
@@ -1299,7 +1300,6 @@ also IEEE Std 1003.1-2008 (POSIX.1-2008)
 ceill
 cexpl
 cimagl
-clock_nanosleep
 clogl
 conjl
 copysignl
@@ -1446,8 +1446,10 @@ by keeping track of the current root and
 related function calls.  A real chroot functionality is not supported by
 Windows however./para
 
-parafunctionclock_setres/function, functionclock_settime/function,
-and functiontimer_create/function only support CLOCK_REALTIME./para
+parafunctionclock_nanosleep/function currently supports only
+CLOCK_REALTIME and CLOCK_MONOTONIC.  functionclock_setres/function,
+functionclock_settime/function, and functiontimer_create/function
+currently support only CLOCK_REALTIME./para
 
 paraBSD file locks created via functionflock/function are not
 propagated to the parent process and sibling processes.  The locks are
Index: signal.cc
===
RCS file: /cvs/src/src/winsup/cygwin/signal.cc,v
retrieving revision 1.99
diff -u -p -r1.99 signal.cc
--- signal.cc	3 Aug 2011 16:40:47 -	1.99
+++ signal.cc	3 Aug 2011 17:56:20 -
@@ -81,52 +81,104 @@ signal (int sig, _sig_func_ptr func)
 }
 
 extern C int
-nanosleep (const struct timespec *rqtp, struct timespec *rmtp)
+clock_nanosleep (clockid_t clk_id, int flags, const struct timespec *rqtp,
+		 struct timespec *rmtp)
 {
+  const bool abstime = (flags  TIMER_ABSTIME) ? true : false;
   int res = 0;
   sig_dispatch_pending ();
   pthread_testcancel ();
 
-  if ((unsigned int) rqtp-tv_nsec  9)
+  if (rqtp-tv_sec  0 || rqtp-tv_nsec  0 || rqtp-tv_nsec  9L)
+return EINVAL;
+
+  /* Explicitly disallowed by POSIX. Needs to be checked first to avoid
+ being caught by the following test. */
+  if (clk_id == CLOCK_THREAD_CPUTIME_ID)
+return EINVAL;
+
+  /* support for CPU-time clocks is optional */
+  if (CLOCKID_IS_PROCESS (clk_id) || CLOCKID_IS_THREAD (clk_id))
+return ENOTSUP;
+
+  switch (clk_id)
 {
-  set_errno (EINVAL);
-  return -1;
+case CLOCK_REALTIME:
+case CLOCK_MONOTONIC:
+  break;
+default:
+  /* unknown or illegal clock ID */
+  return EINVAL;
 }
+
   LARGE_INTEGER timeout;
 
   timeout.QuadPart = (LONGLONG) rqtp-tv_sec * NSPERSEC
 		 + ((LONGLONG) rqtp-tv_nsec + 99LL) / 100LL;
-  timeout.QuadPart *= -1LL;
 
-  syscall_printf (nanosleep (%ld.%09ld), rqtp-tv_sec, rqtp-tv_nsec);
+  if (abstime)
+{
+  struct timespec tp;
+
+  clock_gettime (clk_id, tp);
+  /* Check for immediate timeout */
+  if (tp.tv_sec  rqtp-tv_sec
+  || (tp.tv_sec == rqtp-tv_sec  tp.tv_nsec  rqtp-tv_nsec))
+	return 0;
+
+  if (clk_id == CLOCK_REALTIME)
+	timeout.QuadPart += FACTOR;
+  else
+	{
+	  /* other clocks need to be handled with a relative timeout */
+	  timeout.QuadPart -= tp.tv_sec * NSPERSEC + tp.tv_nsec / 100LL;
+	  timeout.QuadPart *= -1LL;
+	}
+}
+  else /* !abstime */
+timeout.QuadPart *= -1LL;
+
+ 

Re: [PATCH] clock_nanosleep(2), round two

2011-08-03 Thread Corinna Vinschen
On Aug  3 13:42, Yaakov (Cygwin/X) wrote:
   * cygwin.din (clock_nanosleep): Export.
   * posix.sgml (std-notimpl): Move clock_nanosleep from here...
   (std-susv4): ... to here.
   (std-notes): Note limitations of clock_nanosleep.
   * signal.cc (clock_nanosleep): Renamed from nanosleep, adding clock_id
   and flags arguments and changing return values throughout.
   Improve checks for illegal rqtp values.  Add support for
   CLOCK_MONOTONIC and TIMER_ABSTIME.
   (nanosleep): Rewrite in terms of clock_nanosleep.
   (sleep): Ditto.
   (usleep): Ditto.
   * thread.cc: Mark clock_nanosleep in list of cancellation points.
   * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.

Thumbs up.


Thank you,
Corinna

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


[PATCH] Add /proc/devices

2011-08-03 Thread Yaakov (Cygwin/X)
This patchset implements /proc/devices[1]:

$ cat /proc/devices
Character devices:
  1 mem
  5 /dev/tty
  5 /dev/console
  5 /dev/ptmx
  9 st
 13 misc
 14 sound
117 ttyS
136 tty

Block devices:
  2 fd
  8 sd
 11 sr
 65 sd
 66 sd
 67 sd
 68 sd
 69 sd
 70 sd
 71 sd

The question is how to handle /dev/tty and /dev/console as the
apparently vary now, per cgf's remarks on the main list.

Patches for winsup/cygwin and winsup/doc attached.


Yaakov

[1] 
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s2-proc-devices.html


cygwin-proc-devices.patch
Description: Binary data


doc-proc-devices.patch
Description: Binary data


Problems with 20110801 snapshot

2011-08-03 Thread Yaakov (Cygwin/X)
I am having the following issues with the 20110801 snapshot:

* Previously I had my DLLs rebased from 0x8000 up, but now, all
fork() calls failed until I rebased from 0x down.

* Opening multiple VTE-based terminals (gnome-terminal, Xfce Terminal,
etc.), or even one after a mintty terminal is already open, produces the
following message when starting a bash login shell:

 -bash: cannot set terminal process group (-1): Inappropriate ioctl for device
 -bash: no job control in this shell

In which case, launching a ncurses app (e.g. less or nano) displays on
the first terminal which didn't have such a warning.  And when closing
such a terminal, a warning about a process still running in that
terminal appears even though there is none.


Yaakov



--
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



Re: Show GNU screen captions inside of mintty

2011-08-03 Thread Eric Pruitt
On Wed, Aug 03, 2011 at 06:45:31AM +0100, Andy Koppe wrote:
 This has nothing to do with mintty and everything to do with screen and its
 configuration, unless you can show that mintty displays

I didn't think it necessarily had anything to do with mintty as an
application, but the TERMCAP settings it's using. Your comment did remind me
that screen still reads the /etc/screenrc file even if you have a user
specified configuration, so I diffed the /etc/screenrc from my Debian desktop
and the Cygwin /etc/screenrc and found they were different. After replacing
Cygwin's screenrc with the one from Debian, it behaved as expected.

Thanks for the help,
Eric

--
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



Re: Problems with 20110801 snapshot

2011-08-03 Thread Corinna Vinschen
On Aug  3 01:01, Yaakov (Cygwin/X) wrote:
 I am having the following issues with the 20110801 snapshot:
 
 * Previously I had my DLLs rebased from 0x8000 up, but now, all
 fork() calls failed until I rebased from 0x down.

Yes, that was to be expected.  Sorry about that.  However, since DLLs
will stay in the range below 0x8000 by default anyway, I was mulling
over a way to utilize the large address area.  And then it occured to me
that it's the ideal playfield for the heap.  See
http://cygwin.com/ml/cygwin-cvs/2011-q3/msg00032.html
http://cygwin.com/ml/cygwin-cvs/2011-q3/msg00033.html

 * Opening multiple VTE-based terminals (gnome-terminal, Xfce Terminal,
 etc.), or even one after a mintty terminal is already open, produces the
 following message when starting a bash login shell:
 
  -bash: cannot set terminal process group (-1): Inappropriate ioctl for 
  device
  -bash: no job control in this shell
 
 In which case, launching a ncurses app (e.g. less or nano) displays on
 the first terminal which didn't have such a warning.  And when closing
 such a terminal, a warning about a process still running in that
 terminal appears even though there is none.

Is that a new one in 20110801?  The change set doesn't look like it
could introduce this.  Can you please look which snapshot introduced
this issue?


Corinna

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

--
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



Re: bzr completely broken?

2011-08-03 Thread Corinna Vinschen
On Aug  2 15:25, Andrew Schulman wrote:
  On Aug  2 10:07, Andrew Schulman wrote:
  $ rebaseall
  ReBaseImage (/usr/bin/cygcrypt-0.dll) failed with last error = 6
   [...]
  
  chmod u+w /usr/bin/cygcrypt-0.dll
  
  ?
 
 Uh... yes.
 
 Thanks.  It works now.  Although I had to get more aggressive and run
 
   find /usr -iname \*.dll -o -iname \*.so | xargs chmod u+w
 
 After that, rebaseall completed successfully, and bzr now works again.
 
 Who maintains the rebase package?  I wonder if it should automatically try to 
 chmod u+w all of the
 files it wants to operate on-- maybe just temporarily.

Jason is the maintainer, with a bit of Chuck's and my help.

I don't think that chmod +w is a good idea in general.  I don't like
to see tools fiddeling with permissions without asking.

We're working on a new release of rebase anyway.  This new release
checks for writability and prints just a warning without stopping
dead in its track:

  /usr/bin/foo.dll: skipped because not writable

That should be ok, shouldn't it?  Otherwise, what we can do is to open
the file with FILE_FLAG_BACKUP_SEMANTICS.  This would allow you to
rebase DLLs without write permissions if you have admin privileges.


Corinna

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

--
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



python doesn't allow descriptors 63 in select

2011-08-03 Thread Corinna Vinschen
Hi Jason,

it looks like there's a build glitch in python:

  $ cat  sel.py EOF
  from socket import *
  from select import select

  ins = []

  for i in range(1024):
  s = socket(AF_INET, SOCK_STREAM)
  ins.append(s)
  print socket opened with fd, s.fileno()
  select(ins, [], [], 0)
  EOF
  $ python sel.py
  socket opened with fd 3
  socket opened with fd 4
  socket opened with fd 5
  [...]
  socket opened with fd 62
  socket opened with fd 63
  socket opened with fd 64
  socket opened with fd 64
  Traceback (most recent call last):
File test.py, line 10, in module
  select(ins, [], [], 0)
  ValueError: filedescriptor out of range in select()

I debugged this and it turns out that python does not call Cygwin's
select function anymore, as soon as there's a file descriptor in the
set which is = 64.

While the default value for FD_SETSIZE is 64 (see /usr/include/sys/types.h):

  #  ifndef  FD_SETSIZE
  #  define  FD_SETSIZE  64

AFAICS the python default for the fd set is 256, see the definition
in /usr/include/python2.6/pyport.h:

  #ifndef FD_SETSIZE
  #define FD_SETSIZE  256

But somehow this didn't make it into the python build.  On my Linux
box, the same script only stops when it hits the soft descriptor
limit, 1024 in my case.

Can you have a look and, perhaps, provide a new python with a bigger
internal FD_SETSIZE?  The 256 from /usr/include/python2.6/pyport.h
would already be ok, I guess, but 512 or so wouldn't hurt either...


Thanks,
Corinna

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

--
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



Re: Problems with 20110801 snapshot

2011-08-03 Thread Yaakov (Cygwin/X)
On Wed, 2011-08-03 at 09:06 +0200, Corinna Vinschen wrote:
  * Opening multiple VTE-based terminals (gnome-terminal, Xfce Terminal,
  etc.), or even one after a mintty terminal is already open, produces the
  following message when starting a bash login shell:
  
   -bash: cannot set terminal process group (-1): Inappropriate ioctl for 
   device
   -bash: no job control in this shell
  
  In which case, launching a ncurses app (e.g. less or nano) displays on
  the first terminal which didn't have such a warning.  And when closing
  such a terminal, a warning about a process still running in that
  terminal appears even though there is none.
 
 Is that a new one in 20110801?  The change set doesn't look like it
 could introduce this.  Can you please look which snapshot introduced
 this issue?

I'm sure it's not, it probably dates back to the pty/tty handling
changes.  I won't be able to bisect this until tomorrow.


Yaakov



--
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



Re: Commands slow in wait_sig.

2011-08-03 Thread Marco atzeri

On 8/3/2011 9:44 AM, texas salsa wrote:


Hello there,

I use Cygwin to do some complex text processing jobs using shell scripts on 
Thinkpad X200s Windows XP sp3. It had worked fine before but at some point I 
noticed the job started to take much time to complete. It is taking about ten 
times period compare to before. I don't know what had triggered this exactly.

$ while true ;do /usr/bin/date ;done|uniq -c
   1 Wed Aug  3 16:21:05 2011
   1 Wed Aug  3 16:21:06 2011
   1 Wed Aug  3 16:21:08 2011
   1 Wed Aug  3 16:21:09 2011
   1 Wed Aug  3 16:21:10 2011
   2 Wed Aug  3 16:21:11 2011
   1 Wed Aug  3 16:21:12 2011
$ time date
Wed Aug  3 16:23:19 2011
real0m0.905s
user0m0.077s
sys 0m0.562s

$ uname -a
CYGWIN_NT-5.1 IBM-8DE0336DAA4 1.7.9(0.237/5/3) 2011-03-29 10:10 i686 Cygwin

So one command take about 1 sec to complete. On other machines with similar 
configuration the above testing shows about 10 forks/sec on average.


similar machine T410 with XP SP3
using latest snapshots

$ while true ;do /usr/bin/date ;done|uniq -c
 51 Wed Aug  3 10:23:36 WEDT 2011
 50 Wed Aug  3 10:23:37 WEDT 2011
 50 Wed Aug  3 10:23:38 WEDT 2011
 51 Wed Aug  3 10:23:39 WEDT 2011
 51 Wed Aug  3 10:23:40 WEDT 2011


$ time date
Wed Aug  3 10:29:58 WEDT 2011

real0m0.016s
user0m0.030s
sys 0m0.000s



Yuta



possible cause: bash-completion installed or  BLODA (mainly antivirus)

Regards
Marco


--
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



Re: git-svn hang starting with 20110721 snapshot.

2011-08-03 Thread Corinna Vinschen
On Aug  2 10:58, David Rothenberger wrote:
 I use git-svn extensively in my day-to-day work, and I noticed with
 recent snapshots that some of the git-svn commands are hanging. I
 narrowed it down to the 20110721 snapshot. 20110713 is the last one
 that works fine.
 
 I realize this isn't exactly a STC, but I don't have the time right
 now to narrow it down further (or the skills, really). I've attached
 a script which reproduces the problem. It requires svn and
 git-svn. In the script, the first git svn init command hangs with
 20110721, but the entire script succeeds with 20110713.
 
 I hope this is enough information to track down the problem, because
 I was absolutely LOVING the speed increase in 20110801.

This is not enough for me.  I tried your script on W7 32 bit and Server
2008 R2 64 bit, using Cygwin from CVS as well as the 20110801 snapshot,
in in no case can I reproduce a hang.  The script runs fine (and fast):

  $ ./reproduce.sh
  Created /tmp/git-svn-problem.2528
  Creating an SVN repository and workspace.
  Checked out revision 0.
  A tags
  A trunk
  A branches
  A trunk/file1
  Adding branches
  Adding tags
  Adding trunk
  Adding trunk/file1
  Transmitting file data .
  Committed revision 1.

  Initializing with git svn.
  This hangs with recent snapshots.
  Initialized empty Git repository in /tmp/git-svn-problem.2528/work/trunk/.git/
  A   file1
  r1 = 3a690f391f65e05607235e13e2baf15af222ea6a (refs/remotes/trunk)
  Checked out HEAD:
file:///tmp/git-svn-problem.2528/repos/trunk r1

  Making a change in svn, then doing git svn rebase --all.
  git svn rebase --all also hangs.
  Sendingtrunk/file1
  Transmitting file data .
  Committed revision 2.
  HEAD is now at 3a690f3 Initial version
  M   file1
  r2 = 688e627bde2e5b2cdf7526edb9b34a21e2f816a2 (refs/remotes/trunk)
  First, rewinding head to replay your work on top of it...
  Fast-forwarded master to refs/remotes/trunk.

I see only one change in the 20110721 snapshot which *might* account for
this problem and that is the FIONREAD stuff, but actually even that is
unlikely since it just changes the error code returned from the ioctl
call (ENOTTY instead of EINVAL).


Corinna

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

--
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



Re: bzr completely broken?

2011-08-03 Thread Henry S. Thompson
Corinna Vinschen writes:

 . . .

 We're working on a new release of rebase anyway.  This new release
 checks for writability and prints just a warning without stopping
 dead in its track:

   /usr/bin/foo.dll: skipped because not writable

 Otherwise, what we can do is to open the file with
 FILE_FLAG_BACKUP_SEMANTICS.  This would allow you to rebase DLLs
 without write permissions if you have admin privileges.

A combination of the two would be best, I think.  That is, try
FILE_FLAG_BACKUP_SEMANTICS, so for Admins it will work, and if _that_
fails print the message.

Thanks,

ht
-- 
   Henry S. Thompson, School of Informatics, University of Edinburgh
  10 Crichton Street, Edinburgh EH8 9AB, SCOTLAND -- (44) 131 650-4440
Fax: (44) 131 651-1426, e-mail: h...@inf.ed.ac.uk
   URL: http://www.ltg.ed.ac.uk/~ht/
 [mail from me _always_ has a .sig like this -- mail without it is forged spam]

--
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



Re: python doesn't allow descriptors 63 in select

2011-08-03 Thread Reini Urban
2011/8/3 Corinna Vinschen:
  $ python sel.py
  socket opened with fd 3
  socket opened with fd 4
  socket opened with fd 5
  [...]
  socket opened with fd 62
  socket opened with fd 63
  socket opened with fd 64
  socket opened with fd 64
  Traceback (most recent call last):
    File test.py, line 10, in module
      select(ins, [], [], 0)
  ValueError: filedescriptor out of range in select()

 I debugged this and it turns out that python does not call Cygwin's
 select function anymore, as soon as there's a file descriptor in the
 set which is = 64.

I have a similar limitation in postgresql, and I heard that this is
based on a windows limitation, not any predefined constant.
In postgresql I can max fork 63 worker childs, tested by a configure probe.
-- 
Reini

--
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



Re: [ANNOUNCEMENT] Updated: gdb-7.3.50-1

2011-08-03 Thread Chris Sutcliffe
On 2 August 2011 03:44, Yaakov (Cygwin/X)  wrote:
 On Sun, 2011-07-31 at 13:59 -0400, Christopher Faylor wrote:
 As usual, I forgot an item of news that I wanted to impart a second
 after hitting 'y'.  For those who follow this type of thing, gdb now has
 a python scripting interface.  That is not turned on in this Cygwin
 release, primarily because the release was so overdue that I didn't want
 to waste time figuring out what I needed to pull into my cross-build
 environment.

 If I may, based on looking at configure, you'll need libpython2.6.dll.a
 in $sysroot/usr/lib and the Python headers in
 $sysroot/usr/include/python2.6, and add -I$sysroot/usr/include/python2.6
 to CPPFLAGS.  (I wouldn't advise moving them straight into
 $sysroot/usr/include/, their names are too generic.)

Passing '--with-python=/usr/bin/python' as opposed to messing with
CPPFLAGS, etc. might be easier.  I just recently built if for MinGW
and specifying the python interpreter in '--with-python' caused gdb's
configure to DTRT (in terms of locating the header files, appropriate
libraries, etc.).

Cheers,

Chris

-- 
Chris Sutcliffe
http://emergedesktop.org
http://www.google.com/profiles/ir0nh34d

--
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



Re: bzr completely broken?

2011-08-03 Thread Corinna Vinschen
On Aug  3 10:48, Henry S. Thompson wrote:
 Corinna Vinschen writes:
 
  . . .
 
  We're working on a new release of rebase anyway.  This new release
  checks for writability and prints just a warning without stopping
  dead in its track:
 
/usr/bin/foo.dll: skipped because not writable
 
  Otherwise, what we can do is to open the file with
  FILE_FLAG_BACKUP_SEMANTICS.  This would allow you to rebase DLLs
  without write permissions if you have admin privileges.
 
 A combination of the two would be best, I think.  That is, try
 FILE_FLAG_BACKUP_SEMANTICS, so for Admins it will work, and if _that_
 fails print the message.

I agree.  I checked that in.


Corinna

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

--
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



Re: python doesn't allow descriptors 63 in select

2011-08-03 Thread Corinna Vinschen
On Aug  3 12:04, Reini Urban wrote:
 2011/8/3 Corinna Vinschen:
   $ python sel.py
   socket opened with fd 3
   socket opened with fd 4
   socket opened with fd 5
   [...]
   socket opened with fd 62
   socket opened with fd 63
   socket opened with fd 64
   socket opened with fd 64
   Traceback (most recent call last):
     File test.py, line 10, in module
       select(ins, [], [], 0)
   ValueError: filedescriptor out of range in select()
 
  I debugged this and it turns out that python does not call Cygwin's
  select function anymore, as soon as there's a file descriptor in the
  set which is = 64.
 
 I have a similar limitation in postgresql, and I heard that this is
 based on a windows limitation, not any predefined constant.
 In postgresql I can max fork 63 worker childs, tested by a configure probe.

I don't know why that is, since Cygwin allows 256 children per process.

Either way, that's not related to select.  Cygwin's select is using a
single WaitForMultipleObjects (WFMO) call at the core.  This WFMO call
is restricted to 63 wait objects.  But many object types are handled by
a common thread, and only this thread is given to WFMO.  So, for
instance, all sockets given to select together take only one waitable
object in the WFMO call.

So far this works for sockets, pipes, fifos, ptys and /dev/log.  All
other objects take one WFMO slot per descriptor.

However, if you restrict your application to 64 objects, you will never
be able to use more, even if Cygwin's select supports that already or
will support it at one point, depending on the descriptor type.


Corinna

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

--
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



Re: python doesn't allow descriptors 63 in select

2011-08-03 Thread Jon TURNEY

On 03/08/2011 08:49, Corinna Vinschen wrote:

Hi Jason,

it looks like there's a build glitch in python:

   $ cat  sel.pyEOF
   from socket import *
   from select import select

   ins = []

   for i in range(1024):
   s = socket(AF_INET, SOCK_STREAM)
   ins.append(s)
   print socket opened with fd, s.fileno()
   select(ins, [], [], 0)
   EOF
   $ python sel.py
   socket opened with fd 3
   socket opened with fd 4
   socket opened with fd 5
   [...]
   socket opened with fd 62
   socket opened with fd 63
   socket opened with fd 64
   socket opened with fd 64
   Traceback (most recent call last):
 File test.py, line 10, inmodule
   select(ins, [], [], 0)
   ValueError: filedescriptor out of range in select()

I debugged this and it turns out that python does not call Cygwin's
select function anymore, as soon as there's a file descriptor in the
set which is= 64.

While the default value for FD_SETSIZE is 64 (see /usr/include/sys/types.h):

   #  ifndef  FD_SETSIZE
   #  define  FD_SETSIZE  64

AFAICS the python default for the fd set is 256, see the definition
in /usr/include/python2.6/pyport.h:

   #ifndef FD_SETSIZE
   #define FD_SETSIZE  256

But somehow this didn't make it into the python build.  On my Linux
box, the same script only stops when it hits the soft descriptor
limit, 1024 in my case.

Can you have a look and, perhaps, provide a new python with a bigger
internal FD_SETSIZE?  The 256 from /usr/include/python2.6/pyport.h
would already be ok, I guess, but 512 or so wouldn't hurt either...


fwiw, I already reported this problem with a patch to fix it at [1].

[1] http://cygwin.com/ml/cygwin/2011-03/msg00651.html

--
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



Re: python doesn't allow descriptors 63 in select

2011-08-03 Thread Corinna Vinschen
On Aug  3 12:29, Jon TURNEY wrote:
 On 03/08/2011 08:49, Corinna Vinschen wrote:
 Hi Jason,
 
 it looks like there's a build glitch in python:
 
$ cat  sel.pyEOF
from socket import *
from select import select
 
ins = []
 
for i in range(1024):
s = socket(AF_INET, SOCK_STREAM)
ins.append(s)
print socket opened with fd, s.fileno()
select(ins, [], [], 0)
EOF
$ python sel.py
socket opened with fd 3
socket opened with fd 4
socket opened with fd 5
[...]
socket opened with fd 62
socket opened with fd 63
socket opened with fd 64
socket opened with fd 64
Traceback (most recent call last):
  File test.py, line 10, inmodule
select(ins, [], [], 0)
ValueError: filedescriptor out of range in select()
 
 I debugged this and it turns out that python does not call Cygwin's
 select function anymore, as soon as there's a file descriptor in the
 set which is= 64.
 
 While the default value for FD_SETSIZE is 64 (see /usr/include/sys/types.h):
 
#  ifndef  FD_SETSIZE
#  define  FD_SETSIZE  64
 
 AFAICS the python default for the fd set is 256, see the definition
 in /usr/include/python2.6/pyport.h:
 
#ifndef FD_SETSIZE
#define FD_SETSIZE  256
 
 But somehow this didn't make it into the python build.  On my Linux
 box, the same script only stops when it hits the soft descriptor
 limit, 1024 in my case.
 
 Can you have a look and, perhaps, provide a new python with a bigger
 internal FD_SETSIZE?  The 256 from /usr/include/python2.6/pyport.h
 would already be ok, I guess, but 512 or so wouldn't hurt either...
 
 fwiw, I already reported this problem with a patch to fix it at [1].
 
 [1] http://cygwin.com/ml/cygwin/2011-03/msg00651.html

Indeed.  Huh, even the testcase is the same.  Apparently Jason also
forgot about it.  Jason?  Ping?


Corinna

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

--
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



Re: Commands slow in wait_sig.

2011-08-03 Thread Christopher Faylor
On Wed, Aug 03, 2011 at 04:44:29PM +0900, texas salsa wrote:

Hello there,

I use Cygwin to do some complex text processing jobs using shell scripts on 
Thinkpad X200s Windows XP sp3. It had worked fine before but at some point I 
noticed the job started to take much time to complete. It is taking about ten 
times period compare to before. I don't know what had triggered this exactly.

$ while true ;do /usr/bin/date ;done|uniq -c
? 1 Wed Aug? 3 16:21:05 2011
? 1 Wed Aug? 3 16:21:06 2011
? 1 Wed Aug? 3 16:21:08 2011
? 1 Wed Aug? 3 16:21:09 2011
? 1 Wed Aug? 3 16:21:10 2011
? 2 Wed Aug? 3 16:21:11 2011
? 1 Wed Aug? 3 16:21:12 2011
$ time date
Wed Aug? 3 16:23:19 2011
real??? 0m0.905s
user??? 0m0.077s
sys 0m0.562s

$ uname -a
CYGWIN_NT-5.1 IBM-8DE0336DAA4 1.7.9(0.237/5/3) 2011-03-29 10:10 i686 Cygwin
? 
So one command take about 1 sec to complete. On other machines with similar 
configuration the above testing shows about 10 forks/sec on average.

The following is strace date information

?7070??? 9351 [main] date 1780 _cygtls::remove: wait 0x
?? 76??? 9427 [main] date 1780 _cygtls::remove: removed 0x22CE64 element 0
?? 64??? 9491 [main] date 1780 _cygtls::remove: wait 0x
?? 34??? 9525 [main] date 1780 _cygtls::remove: removed 0x22CE64 element 0
? 218??? 9743 [sig] date 1780 wait_sig: entering ReadFile loop, my_readsig 
0x764, my_sendsig 0x760
332702? 342445 [main] date 1780 mount_info::conv_to_posix_path: 
conv_to_posix_path (C:\cygwin\home\admuser, no-keep-rel, no-add-slash)
?? 80? 342525 [main] date 1780 normalize_win32_path: C:\cygwin\home\admuser = 
normalize_win32_path (C:\cygwin\home\admuser)
? 165? 342690 [main] date 1780 mount_info::conv_to_posix_path: /home/admuser = 
conv_to_posix_path (C:\cygwin\home\admuser)
?2047? 344737 [main] date 1780 _cygwin_istext_for_stdio: fd 0: not open
?
It looks like that wait_sig: entering ReadFile loop taking much time
in the command processing.  So firstly I supposed Slow performance
Win7/64 discussion last month may apply to this.  I tested 2011-08-01
snapshot and it doubled the performance like 2 forks/sec, but wait_sig
still taking much time and I suspect there is another problem in the
code or specific problem in my PC.

Nothing in the above indicates that there is a problem in wait_sig.
The delta times in an strace do not mean This is how long an operation
took.  They just indicate the number of microseconds since the last
update to strace output.

What the above says is:

1) wait_sig is about to call ReadFile.  It has been 9743 microseconds
since strace last reported anytinng.

2) There was a lag of 342445 microseconds before something happened in
main.  That could be symptomatic of the problem which the 8/01 snapshot
works around.  Or not.

If it is only happening on one system that obviously points to BLODA.

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



Re: python doesn't allow descriptors 63 in select

2011-08-03 Thread Jason Tishler
On Wed, Aug 03, 2011 at 01:52:21PM +0200, Corinna Vinschen wrote:
 On Aug  3 12:29, Jon TURNEY wrote:
  On 03/08/2011 08:49, Corinna Vinschen wrote:
  [snip]
  
  Can you have a look and, perhaps, provide a new python with a bigger
  internal FD_SETSIZE?  The 256 from /usr/include/python2.6/pyport.h
  would already be ok, I guess, but 512 or so wouldn't hurt either...
  
  fwiw, I already reported this problem with a patch to fix it at [1].
  
  [1] http://cygwin.com/ml/cygwin/2011-03/msg00651.html
 
 Indeed.  Huh, even the testcase is the same.  Apparently Jason also
 forgot about it.  Jason?  Ping?

The thread is a little more involved which is why I thought it was the
WFMO limitation.  See the following for the details, if interested:

http://cygwin.com/ml/cygwin/2011-03/threads.html#00651

Anyway, I will add this patch to the next Cygwin Python build.

Thanks,
Jason

-- 
PGP/GPG Key: http://www.tishler.net/jason/pubkey.asc or key servers
Fingerprint: 7A73 1405 7F2B E669 C19D  8784 1AFD E4CC ECF4 8EF6

--
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



Re: git-svn hang starting with 20110721 snapshot.

2011-08-03 Thread Christopher Faylor
On Wed, Aug 03, 2011 at 10:44:27AM +0200, Corinna Vinschen wrote:
On Aug  2 10:58, David Rothenberger wrote:
 I use git-svn extensively in my day-to-day work, and I noticed with
 recent snapshots that some of the git-svn commands are hanging. I
 narrowed it down to the 20110721 snapshot. 20110713 is the last one
 that works fine.
 
 I realize this isn't exactly a STC, but I don't have the time right
 now to narrow it down further (or the skills, really). I've attached
 a script which reproduces the problem. It requires svn and
 git-svn. In the script, the first git svn init command hangs with
 20110721, but the entire script succeeds with 20110713.
 
 I hope this is enough information to track down the problem, because
 I was absolutely LOVING the speed increase in 20110801.

This is not enough for me.  I tried your script on W7 32 bit and Server
2008 R2 64 bit, using Cygwin from CVS as well as the 20110801 snapshot,
in in no case can I reproduce a hang.  The script runs fine (and fast):

I don't see a hang but I do see a:

error: cannot fork() for git-svn: Resource temporarily unavailable

I'll investigate that.  Maybe it's related.

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



ISO: recommendations while setting up a new cygwin environment.

2011-08-03 Thread Larry W. Virden
I work in an environment where we have been using cygwin 1.5 and
cygwin/X (along with xterm, mintty, and putty) on a variety of Windows
XP desktops, as well as an older cygwin 1.7, cygwin/X, and a variety
of pretty traditional packages on development XP desktops.

Now we are considering creating a single distribution to be used
across the board, but set up to run on Windows 7.

Two specific questions we were wondering about - are there any
recommendations from you who have begun using cygwin on Windows 7
about things we should consider during the configuration?

Also, we have some java developers who have commented in the past that
trying to start, manage, and stop java processes were more difficult
in cygwin than using other similar toolsets (which live purely in the
windows process model). Are there any HOWTOs or other useful documents
for configuring cygwin to allow a developer to live with processing
that has to straddle the windows and cygwin environment.

Thank you all for your continued useful suggestions.

--
Tcl - The glue of a new generation.   http://wiki.tcl.tk/
Larry W. Virden
http://www.facebook.com/lvirden/
Even if explicitly stated to the contrary, nothing in this posting
should be construed as representing my employer's opinions.

--
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



Re: git-svn hang starting with 20110721 snapshot.

2011-08-03 Thread Christopher Faylor
On Wed, Aug 03, 2011 at 09:45:28AM -0400, Christopher Faylor wrote:
On Wed, Aug 03, 2011 at 10:44:27AM +0200, Corinna Vinschen wrote:
On Aug  2 10:58, David Rothenberger wrote:
 I use git-svn extensively in my day-to-day work, and I noticed with
 recent snapshots that some of the git-svn commands are hanging. I
 narrowed it down to the 20110721 snapshot. 20110713 is the last one
 that works fine.
 
 I realize this isn't exactly a STC, but I don't have the time right
 now to narrow it down further (or the skills, really). I've attached
 a script which reproduces the problem. It requires svn and
 git-svn. In the script, the first git svn init command hangs with
 20110721, but the entire script succeeds with 20110713.
 
 I hope this is enough information to track down the problem, because
 I was absolutely LOVING the speed increase in 20110801.

This is not enough for me.  I tried your script on W7 32 bit and Server
2008 R2 64 bit, using Cygwin from CVS as well as the 20110801 snapshot,
in in no case can I reproduce a hang.  The script runs fine (and fast):

I don't see a hang but I do see a:

error: cannot fork() for git-svn: Resource temporarily unavailable

I'll investigate that.  Maybe it's related.

Huh.  I ran rebaseall before reporting the above but, on inspecting the
output from strace, I saw that dlls were getting located in non-rebased
locations.  So, I ran rebaseall again.  *Now* I see the hang.  Weird.

So I guess I can investigate the actual problem now.  FWIW, strace
reports that the child of a fork has died with a SIGSEGV but I don't see
the location of the SIGSEGV in the strace output.  So it will be a
little tricky to track down.

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



Re: git-svn hang starting with 20110721 snapshot.

2011-08-03 Thread Corinna Vinschen
On Aug  3 10:00, Christopher Faylor wrote:
 On Wed, Aug 03, 2011 at 09:45:28AM -0400, Christopher Faylor wrote:
 On Wed, Aug 03, 2011 at 10:44:27AM +0200, Corinna Vinschen wrote:
 On Aug  2 10:58, David Rothenberger wrote:
  I use git-svn extensively in my day-to-day work, and I noticed with
  recent snapshots that some of the git-svn commands are hanging. I
  narrowed it down to the 20110721 snapshot. 20110713 is the last one
  that works fine.
  
  I realize this isn't exactly a STC, but I don't have the time right
  now to narrow it down further (or the skills, really). I've attached
  a script which reproduces the problem. It requires svn and
  git-svn. In the script, the first git svn init command hangs with
  20110721, but the entire script succeeds with 20110713.
  
  I hope this is enough information to track down the problem, because
  I was absolutely LOVING the speed increase in 20110801.
 
 This is not enough for me.  I tried your script on W7 32 bit and Server
 2008 R2 64 bit, using Cygwin from CVS as well as the 20110801 snapshot,
 in in no case can I reproduce a hang.  The script runs fine (and fast):
 
 I don't see a hang but I do see a:
 
 error: cannot fork() for git-svn: Resource temporarily unavailable
 
 I'll investigate that.  Maybe it's related.
 
 Huh.  I ran rebaseall before reporting the above but, on inspecting the
 output from strace, I saw that dlls were getting located in non-rebased
 locations.  So, I ran rebaseall again.  *Now* I see the hang.  Weird.
 
 So I guess I can investigate the actual problem now.  FWIW, strace
 reports that the child of a fork has died with a SIGSEGV but I don't see
 the location of the SIGSEGV in the strace output.  So it will be a
 little tricky to track down.

Is git-svn using perl?  I have constant problems using perl after a 
rebase.  The problem starts with perl.exe(!) being rebased(!) to
0x5000(!).  However, when rebasing perl.exe to 0x40 where it
belongs, it doesn't work either.  Only reinstalling perl helped
afterwards.

Reini, could you please update the perl package so that the executable
is in its default place at 0x40?


Corinna

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

--
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



Re: python doesn't allow descriptors 63 in select

2011-08-03 Thread Corinna Vinschen
On Aug  3 09:22, Jason Tishler wrote:
 On Wed, Aug 03, 2011 at 01:52:21PM +0200, Corinna Vinschen wrote:
  On Aug  3 12:29, Jon TURNEY wrote:
   On 03/08/2011 08:49, Corinna Vinschen wrote:
   [snip]
   
   Can you have a look and, perhaps, provide a new python with a bigger
   internal FD_SETSIZE?  The 256 from /usr/include/python2.6/pyport.h
   would already be ok, I guess, but 512 or so wouldn't hurt either...
   
   fwiw, I already reported this problem with a patch to fix it at [1].
   
   [1] http://cygwin.com/ml/cygwin/2011-03/msg00651.html
  
  Indeed.  Huh, even the testcase is the same.  Apparently Jason also
  forgot about it.  Jason?  Ping?
 
 The thread is a little more involved which is why I thought it was the
 WFMO limitation.  See the following for the details, if interested:
 
 http://cygwin.com/ml/cygwin/2011-03/threads.html#00651
 
 Anyway, I will add this patch to the next Cygwin Python build.

Thanks.  Any chance to get this soon?  This is a really problematic
limitation.


Corinna

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

--
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



Re: git-svn hang starting with 20110721 snapshot.

2011-08-03 Thread Corinna Vinschen
On Aug  3 16:56, Corinna Vinschen wrote:
 On Aug  3 10:00, Christopher Faylor wrote:
  Huh.  I ran rebaseall before reporting the above but, on inspecting the
  output from strace, I saw that dlls were getting located in non-rebased
  locations.  So, I ran rebaseall again.  *Now* I see the hang.  Weird.
  
  So I guess I can investigate the actual problem now.  FWIW, strace
  reports that the child of a fork has died with a SIGSEGV but I don't see
  the location of the SIGSEGV in the strace output.  So it will be a
  little tricky to track down.
 
 Is git-svn using perl?  I have constant problems using perl after a 
 rebase.  The problem starts with perl.exe(!) being rebased(!) to
 0x5000(!).  However, when rebasing perl.exe to 0x40 where it

Well, not exactly 0x5000, but in that region.


Corinna

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

--
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



Re: bzr completely broken?

2011-08-03 Thread Andrew Schulman
 On Aug  3 10:48, Henry S. Thompson wrote:
  Corinna Vinschen writes:
  
   . . .
  
   We're working on a new release of rebase anyway.  This new release
   checks for writability and prints just a warning without stopping
   dead in its track:
  
 /usr/bin/foo.dll: skipped because not writable
  
   Otherwise, what we can do is to open the file with
   FILE_FLAG_BACKUP_SEMANTICS.  This would allow you to rebase DLLs
   without write permissions if you have admin privileges.
  
  A combination of the two would be best, I think.  That is, try
  FILE_FLAG_BACKUP_SEMANTICS, so for Admins it will work, and if _that_
  fails print the message.
 
 I agree.  I checked that in.

Thanks.  I think that works.


--
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



Re: bzr completely broken?

2011-08-03 Thread Andrew Schulman
 On 6/6/2011 9:01 AM, Andrew Schulman wrote:
  Am I right that bzr is just completely broken in Cygwin?  If so, is there
  an ETA to get it fixed?
  
  My bzr is 2.3.1-1, in Cygwin 1.7.9.  No matter what bzr command I run, I
  always get the same result:
 
 As a quick workaround, you can delete all the dll files in
 /usr/lib/python2.6/site-packages/bzrlib. bzr will complain that it can't
 find the native modules, but it'll fall back to pure-Python code and
 work just fine. You can eliminate the warning by putting
 ignore_missing_extensions=True in ~/.bazaar/bazaar.conf.

Interesting - thanks.  The problem was solved otherwise, but that's still 
useful to know.


--
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



perl.exe has wrong base address (was Re: git-svn hang starting with 20110721 snapshot.)

2011-08-03 Thread Christopher Faylor
On Wed, Aug 03, 2011 at 04:56:05PM +0200, Corinna Vinschen wrote:
Is git-svn using perl?

Yes, very heavily.  Setting CYGWIN_DEBUG=perl filled my screen with gdb
windows.

I have constant problems using perl after a rebase.  The problem starts
with perl.exe(!) being rebased(!) to 0x5000(!).

So, it is.  How odd.

However, when rebasing perl.exe to 0x40 where it belongs, it
doesn't work either.  Only reinstalling perl helped afterwards.

perl itself seems to still work but rebasing doesn't solve the hang.

Reini, could you please update the perl package so that the executable
is in its default place at 0x40?

Or at least explain why it's sitting up there where it interferes with
dlls?

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



RE: Portable shell code between Cygwin and Linux

2011-08-03 Thread Andy Hall
 * Eliot Moss (Tue, 02 Aug 2011 11:40:44 -0400)
  On 8/2/2011 8:24 AM, Sebastien Vauban wrote:
   Thorsten Kampe wrote:
   * Sebastien Vauban (Mon, 01 Aug 2011 08:46:52 +0200)
   My goal is to have just 1 alias that would work both under Win32
   (Cygwin) and Ubuntu
  
   Why don't have simply put your alias definitions in if [[ $OSTYPE =
   cygwin ]]; then else?
  
   Because I really want one single definition which could work on
   every system I'm using.
 [...]
  The suggestion to use a few conditionals that look at the which OS
  you're on does not involve continued tweaking. Once you have the right
  file, it works everywhere (for which you have provided suitable cases)
  using the exact same file. It's just that different parts get executed
  on different platforms. It's not as elegant as achieving an
  arrangement with no conditionals, but it's practical and flexible.
 
 Couldn't have said it better. Cygwin is not Linux and you just can't
 ignore the differences. For example I have different aliases for netstat
 and ps on Linux and on Windows. They just don't have the same options.
 
 Thorsten
 
I second this.  I have used that same technique since the late 80s to build
scripts that run on multiple platforms including Cygwin, Linux, Solaris,
HP-UX and AIX.  You can cover up all sorts of differences that way.  Its
about the only clean way of dealing with platform specific differences.  And
sadly, you may even have to stick with /bin/sh if you really want to be
portable.

Andy Hall


--
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



Re: Re: sshd failes allocating /dev/tty[0-9]

2011-08-03 Thread Alexey Luchko

On 21:59, Larry Hall (Cygwin) wrote:

On 8/2/2011 7:32 AM, Alexey Luchko wrote:

Cygwin Configuration Diagnostics atteched.


 Maybe crank up the debugging flags to maximum? I assume sshd is still
 stopped from your last run of sshd -d. If that doesn't sound right to
 you, you may want to investigate why it's not running now.

sshd was stopped while that run because it did not login anyway. and still
don't.


sshd will run even if you're having problems connecting to it. I'm just
making sure that you are testing with a running server. If not, then
you want to make sure the server is running first.


Yes, it's running.  Now it is set up as a service with automatic start up.



The messages
 debug1: Allocating pty.
 debug1: session_pty_req: session 0 alloc /dev/tty2
 chown(/dev/tty2, 11135, 10513) failed: Bad file descriptor
 debug1: do_cleanup
 debug1: session_pty_cleanup: session 0 release /dev/tty2
were got running sshd -d in console.


I was suggesting that you run sshd with all the debug flags
(i.e. -d -d -d) to see if you'd get more useful information
about your problem.


I've run it with -ddd.  There is nothing new around the tty allocation.
The full output is attached.  May be it can give some clue.


Thank you :)

--
Alex
debug2: load_server_config: filename /etc/sshd_config
debug2: load_server_config: done config len = 226
debug2: parse_server_config: config /etc/sshd_config len 226
debug3: /etc/sshd_config:13 setting Port 22
debug3: /etc/sshd_config:19 setting Protocol 2
debug3: /etc/sshd_config:35 setting LogLevel DEBUG
debug3: /etc/sshd_config:41 setting StrictModes no
debug3: /etc/sshd_config:97 setting UsePrivilegeSeparation yes
debug3: /etc/sshd_config:112 setting Subsystem sftp /usr/sbin/sftp-server
debug1: sshd version OpenSSH_5.8p1
debug3: Incorrect RSA1 identifier
debug1: read PEM private key done: type RSA
debug1: private host key: #0 type 1 RSA
debug3: Incorrect RSA1 identifier
debug1: read PEM private key done: type DSA
debug1: private host key: #1 type 2 DSA
debug3: Incorrect RSA1 identifier
debug1: read PEM private key done: type ECDSA
debug1: private host key: #2 type 3 ECDSA
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-ddd'
debug2: fd 3 setting O_NONBLOCK
debug3: sock_set_v6only: set socket 3 IPV6_V6ONLY
debug1: Bind to port 22 on ::.
Server listening on :: port 22.
debug2: fd 4 setting O_NONBLOCK
debug1: Bind to port 22 on 0.0.0.0.
Server listening on 0.0.0.0 port 22.
debug1: fd 5 clearing O_NONBLOCK
debug1: Server will not fork when running in debugging mode.
debug3: send_rexec_state: entering fd = 8 config len 226
debug3: ssh_msg_send: type 0
debug3: send_rexec_state: done
debug1: rexec start in 5 out 5 newsock 5 pipe -1 sock 8
debug1: inetd sockets after dupping: 3, 3
Connection from ::1 port 61981
debug1: Client protocol version 2.0; client software version OpenSSH_5.8
debug1: match: OpenSSH_5.8 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.8
debug2: fd 3 setting O_NONBLOCK
debug2: Network child is on pid 1292
debug3: preauth child monitor started
debug3: mm_request_receive entering
debug1: list_hostkey_types: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: 
ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256
debug2: kex_parse_kexinit: 
aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-...@lysator.liu.se
debug2: kex_parse_kexinit: 
aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-...@lysator.liu.se
debug2: kex_parse_kexinit: 
hmac-md5,hmac-sha1,umac...@openssh.com,hmac-ripemd160,hmac-ripemd...@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: 
hmac-md5,hmac-sha1,umac...@openssh.com,hmac-ripemd160,hmac-ripemd...@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,z...@openssh.com
debug2: kex_parse_kexinit: none,z...@openssh.com
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: first_kex_follows 0 
debug2: kex_parse_kexinit: reserved 0 
debug2: kex_parse_kexinit: 
ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: 
ecdsa-sha2-nistp256-cert-...@openssh.com,ecdsa-sha2-nistp384-cert-...@openssh.com,ecdsa-sha2-nistp521-cert-...@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa-cert-...@openssh.com,ssh-dss-cert-...@openssh.com,ssh-rsa-cert-...@openssh.com,ssh-dss-cert-...@openssh.com,ssh-rsa,ssh-dss

Re: git-svn hang starting with 20110721 snapshot.

2011-08-03 Thread Christopher Faylor
On Wed, Aug 03, 2011 at 10:00:13AM -0400, Christopher Faylor wrote:
On Wed, Aug 03, 2011 at 09:45:28AM -0400, Christopher Faylor wrote:
On Wed, Aug 03, 2011 at 10:44:27AM +0200, Corinna Vinschen wrote:
On Aug  2 10:58, David Rothenberger wrote:
 I use git-svn extensively in my day-to-day work, and I noticed with
 recent snapshots that some of the git-svn commands are hanging. I
 narrowed it down to the 20110721 snapshot. 20110713 is the last one
 that works fine.
 
 I realize this isn't exactly a STC, but I don't have the time right
 now to narrow it down further (or the skills, really). I've attached
 a script which reproduces the problem. It requires svn and
 git-svn. In the script, the first git svn init command hangs with
 20110721, but the entire script succeeds with 20110713.
 
 I hope this is enough information to track down the problem, because
 I was absolutely LOVING the speed increase in 20110801.

This is not enough for me.  I tried your script on W7 32 bit and Server
2008 R2 64 bit, using Cygwin from CVS as well as the 20110801 snapshot,
in in no case can I reproduce a hang.  The script runs fine (and fast):

I don't see a hang but I do see a:

error: cannot fork() for git-svn: Resource temporarily unavailable

I'll investigate that.  Maybe it's related.

Huh.  I ran rebaseall before reporting the above but, on inspecting the
output from strace, I saw that dlls were getting located in non-rebased
locations.  So, I ran rebaseall again.  *Now* I see the hang.  Weird.

So I guess I can investigate the actual problem now.  FWIW, strace
reports that the child of a fork has died with a SIGSEGV but I don't see
the location of the SIGSEGV in the strace output.  So it will be a
little tricky to track down.

It actually wasn't a SIGSEGV.  It really was a strange rebase error.
Unfortunately, the error was silent both to the standard output and,
more irritatingly, to strace.  I've checked in changes which now expose
the error.

The problem is during one of git's 1247 runs of perl, a dll gets
inexplicably relocated out of its comfort zone.  Then when perl forks
the address that the dll was relocated to is in use.  So: boom.

The good news is that the problem went away when I ran peflagsall.
Does that help you David?

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



Re: git-svn hang starting with 20110721 snapshot.

2011-08-03 Thread David Rothenberger
On 8/3/2011 11:02 AM, Christopher Faylor wrote:
 On Wed, Aug 03, 2011 at 10:00:13AM -0400, Christopher Faylor wrote:
 On Wed, Aug 03, 2011 at 09:45:28AM -0400, Christopher Faylor wrote:
 On Wed, Aug 03, 2011 at 10:44:27AM +0200, Corinna Vinschen wrote:
 On Aug  2 10:58, David Rothenberger wrote:
 I use git-svn extensively in my day-to-day work, and I noticed with
 recent snapshots that some of the git-svn commands are hanging. I
 narrowed it down to the 20110721 snapshot. 20110713 is the last one
 that works fine.

 I realize this isn't exactly a STC, but I don't have the time right
 now to narrow it down further (or the skills, really). I've attached
 a script which reproduces the problem. It requires svn and
 git-svn. In the script, the first git svn init command hangs with
 20110721, but the entire script succeeds with 20110713.

 I hope this is enough information to track down the problem, because
 I was absolutely LOVING the speed increase in 20110801.

 This is not enough for me.  I tried your script on W7 32 bit and Server
 2008 R2 64 bit, using Cygwin from CVS as well as the 20110801 snapshot,
 in in no case can I reproduce a hang.  The script runs fine (and fast):

 I don't see a hang but I do see a:

 error: cannot fork() for git-svn: Resource temporarily unavailable

 I'll investigate that.  Maybe it's related.

 Huh.  I ran rebaseall before reporting the above but, on inspecting the
 output from strace, I saw that dlls were getting located in non-rebased
 locations.  So, I ran rebaseall again.  *Now* I see the hang.  Weird.

 So I guess I can investigate the actual problem now.  FWIW, strace
 reports that the child of a fork has died with a SIGSEGV but I don't see
 the location of the SIGSEGV in the strace output.  So it will be a
 little tricky to track down.
 
 It actually wasn't a SIGSEGV.  It really was a strange rebase error.
 Unfortunately, the error was silent both to the standard output and,
 more irritatingly, to strace.  I've checked in changes which now expose
 the error.
 
 The problem is during one of git's 1247 runs of perl, a dll gets
 inexplicably relocated out of its comfort zone.  Then when perl forks
 the address that the dll was relocated to is in use.  So: boom.
 
 The good news is that the problem went away when I ran peflagsall.
 Does that help you David?

I failed to mention in my original report that I'm on W7 x64 and was
running with bigaddr=1 and all DLLs rebased from 0x8900 down. I just
saw Corinna's email from this morning about the heap changes around
20110721, so that probably explains my problem.

I ran rebaseall -o 0 and peflagsall and my test case is working fine
now.

I'm a little worried, though, since git-svn and stgit were unusable for
me last month until I rebased everything about 0x800. (The
combination of python, perl, and tons of svn DLLs was just too much.)

What's the best approach now? Should I expect forking to work better
even with everything rebased from 0x700 down now that the heap is
above 2gb? Or should I rebase everything from 0x down as Yaakov
is doing? Or should I start from somewhere in between?

Thanks,
David

-- 
David Rothenberger    daver...@acm.org

yo-yo, n.:
Something that is occasionally up but normally down.
(see also Computer).

--
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



Re: git-svn hang starting with 20110721 snapshot.

2011-08-03 Thread Corinna Vinschen
On Aug  3 11:40, David Rothenberger wrote:
 On 8/3/2011 11:02 AM, Christopher Faylor wrote:
  It actually wasn't a SIGSEGV.  It really was a strange rebase error.
  Unfortunately, the error was silent both to the standard output and,
  more irritatingly, to strace.  I've checked in changes which now expose
  the error.
  
  The problem is during one of git's 1247 runs of perl, a dll gets
  inexplicably relocated out of its comfort zone.  Then when perl forks
  the address that the dll was relocated to is in use.  So: boom.
  
  The good news is that the problem went away when I ran peflagsall.
  Does that help you David?
 
 I failed to mention in my original report that I'm on W7 x64 and was
 running with bigaddr=1 and all DLLs rebased from 0x8900 down. I just
 saw Corinna's email from this morning about the heap changes around
 20110721, so that probably explains my problem.
 
 I ran rebaseall -o 0 and peflagsall and my test case is working fine
 now.
 
 I'm a little worried, though, since git-svn and stgit were unusable for
 me last month until I rebased everything about 0x800. (The
 combination of python, perl, and tons of svn DLLs was just too much.)
 
 What's the best approach now? Should I expect forking to work better
 even with everything rebased from 0x700 down now that the heap is
 above 2gb? Or should I rebase everything from 0x down as Yaakov
 is doing? Or should I start from somewhere in between?

Better drop the large address stuff for now.  Since the heap is now in
the large addres area(*), and since mmaps will go there, too(*), we have
basically a lot more free space in the area up to 0x7fff.  I also
expect that the new rebase will help a lot.  It supports a rebase
database which keep track of rebase addresses, rebaseall does not keep
64K free space between DLLs anymore (this isn't necessary for a long
time, but rebaseall never catched up), and rebase now supports a -i flag
which allows to inspect DLL addresses for collisions.  If you're
curious, the CVS repository is on cygwin.com: cvs -d
:pserver:anon...@cygwin.com:/cvs/cygwin-apps co rebase


Corinna


(*) On machines supporting large addresses.  For instance, XP with the
/3GB boot flag, or 64 bit Windows.  And the executable needs to have
the large-address awareness flag set as well, that's quite important.
It's not very helpful that our executables don't have this flag set
by default, but there's the peflags tool and future GCCs are supposed
to set the large-address awareness flag by default.

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

--
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



Re: [ANNOUNCEMENT] Updated: gdb-7.3.50-1

2011-08-03 Thread Yaakov (Cygwin/X)
On Wed, 2011-08-03 at 06:33 -0400, Chris Sutcliffe wrote:
 On 2 August 2011 03:44, Yaakov (Cygwin/X)  wrote:
  If I may, based on looking at configure, you'll need libpython2.6.dll.a
  in $sysroot/usr/lib and the Python headers in
  $sysroot/usr/include/python2.6, and add -I$sysroot/usr/include/python2.6
  to CPPFLAGS.  (I wouldn't advise moving them straight into
  $sysroot/usr/include/, their names are too generic.)
 
 Passing '--with-python=/usr/bin/python' as opposed to messing with
 CPPFLAGS, etc. might be easier.  I just recently built if for MinGW
 and specifying the python interpreter in '--with-python' caused gdb's
 configure to DTRT (in terms of locating the header files, appropriate
 libraries, etc.).

cgf is cross-compiling GDB, which rules out using a Python interpreter
to get this information, as noted in gdb/configure.ac.


Yaakov



--
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



Re: git-svn hang starting with 20110721 snapshot.

2011-08-03 Thread Yaakov (Cygwin/X)
On Wed, 2011-08-03 at 21:03 +0200, Corinna Vinschen wrote:
 Better drop the large address stuff for now.  Since the heap is now in
 the large addres area(*), and since mmaps will go there, too(*), we have
 basically a lot more free space in the area up to 0x7fff.

At this moment, I've got DLLs from 0xf000 all the way down to
0xa174, and I could easily have more if I installed all of KDE
(which I provide in Ports, but I prefer to use GNOME).  So where do you
suggest I find that kind of open space in the lower half?


Yaakov



--
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



Re: ISO: recommendations while setting up a new cygwin environment.

2011-08-03 Thread Yaakov (Cygwin/X)
On Wed, 2011-08-03 at 09:58 -0400, Larry W. Virden wrote:
 Also, we have some java developers who have commented in the past that
 trying to start, manage, and stop java processes were more difficult
 in cygwin than using other similar toolsets (which live purely in the
 windows process model). Are there any HOWTOs or other useful documents
 for configuring cygwin to allow a developer to live with processing
 that has to straddle the windows and cygwin environment.

Cygwin Ports provides a Java environment based on JamVM and GNU
Classpath, which includes Ant, ECJ, OpenJDK langtools (apt, javac,
javah, javadoc, javap), Java-GNOME programs, fop, and several dozen
libraries.  It's not quite a Su^WOracle JRE but its enough for my needs.


Yaakov
Cygwin Ports



--
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



Re: git-svn hang starting with 20110721 snapshot.

2011-08-03 Thread Corinna Vinschen
On Aug  3 15:02, Yaakov (Cygwin/X) wrote:
 On Wed, 2011-08-03 at 21:03 +0200, Corinna Vinschen wrote:
  Better drop the large address stuff for now.  Since the heap is now in
  the large addres area(*), and since mmaps will go there, too(*), we have
  basically a lot more free space in the area up to 0x7fff.
 
 At this moment, I've got DLLs from 0xf000 all the way down to
 0xa174, and I could easily have more if I installed all of KDE
 (which I provide in Ports, but I prefer to use GNOME).  So where do you
 suggest I find that kind of open space in the lower half?

Did you use the current rebaseall?  If so you have a 64K hole between
each DLL.  Other than that I don't have an answer for you.  There's only
so much you can do within the 32 bit address space.  That's only one
reason why a 64 bit Cygwin would be a good idea.


Corinna

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

--
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



Re: git-svn hang starting with 20110721 snapshot.

2011-08-03 Thread Corinna Vinschen
On Aug  3 22:19, Corinna Vinschen wrote:
 On Aug  3 15:02, Yaakov (Cygwin/X) wrote:
  On Wed, 2011-08-03 at 21:03 +0200, Corinna Vinschen wrote:
   Better drop the large address stuff for now.  Since the heap is now in
   the large addres area(*), and since mmaps will go there, too(*), we have
   basically a lot more free space in the area up to 0x7fff.
  
  At this moment, I've got DLLs from 0xf000 all the way down to
  0xa174, and I could easily have more if I installed all of KDE
  (which I provide in Ports, but I prefer to use GNOME).  So where do you
  suggest I find that kind of open space in the lower half?
 
 Did you use the current rebaseall?  If so you have a 64K hole between
 each DLL.  Other than that I don't have an answer for you.  There's only
 so much you can do within the 32 bit address space.  That's only one
 reason why a 64 bit Cygwin would be a good idea.

Of course there are other answers, but their implementation is really
tricky:

- Analyze all executables and rebase DLLs which are not used together
  in the same executable to the same addresses.  Not good for runtime
  loading.

- Replace the Windows loader with your own loader in Cygwin.  You'll
  never have to rebase again.


Corinna

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

--
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



Re: git-svn hang starting with 20110721 snapshot.

2011-08-03 Thread David Rothenberger
On 8/3/2011 1:19 PM, Corinna Vinschen wrote:
 On Aug  3 15:02, Yaakov (Cygwin/X) wrote:
 On Wed, 2011-08-03 at 21:03 +0200, Corinna Vinschen wrote:
 Better drop the large address stuff for now.  Since the heap is now in
 the large addres area(*), and since mmaps will go there, too(*), we have
 basically a lot more free space in the area up to 0x7fff.

 At this moment, I've got DLLs from 0xf000 all the way down to
 0xa174, and I could easily have more if I installed all of KDE
 (which I provide in Ports, but I prefer to use GNOME).  So where do you
 suggest I find that kind of open space in the lower half?
 
 Did you use the current rebaseall?  If so you have a 64K hole between
 each DLL.

Isn't this avoided by passing -o 0 to the current rebaseall?

 Other than that I don't have an answer for you.  There's only
 so much you can do within the 32 bit address space.  That's only one
 reason why a 64 bit Cygwin would be a good idea.

What was the motivation for putting the heap and mmaps above 0x8000?
Was there not enough space for them below? Would there be enough space
below if all the DLLs were above?

-- 
David Rothenberger    daver...@acm.org

zeal, n.:
Quality seen in new graduates -- if you're quick.

--
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



Re: git-svn hang starting with 20110721 snapshot.

2011-08-03 Thread David Rothenberger
On 8/3/2011 1:32 PM, David Rothenberger wrote:
 On 8/3/2011 1:19 PM, Corinna Vinschen wrote:
 Other than that I don't have an answer for you.  There's only
 so much you can do within the 32 bit address space.  That's only one
 reason why a 64 bit Cygwin would be a good idea.
 
 What was the motivation for putting the heap and mmaps above 0x8000?
 Was there not enough space for them below? Would there be enough space
 below if all the DLLs were above?

Rereading this, I realized it sounds a little snotty. I'm not trying to
second guess your decision; I was just curious. Feel free to ignore the
question. :)

-- 
David Rothenberger    daver...@acm.org

Warning: Listening to WXRT on April Fools' Day is not recommended for
those who are slightly disoriented the first few hours after waking up.
-- Chicago Reader 4/22/83

--
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



Re: ISO: recommendations while setting up a new cygwin environment.

2011-08-03 Thread Eliot Moss

On 8/3/2011 4:05 PM, Yaakov (Cygwin/X) wrote:

On Wed, 2011-08-03 at 09:58 -0400, Larry W. Virden wrote:



Cygwin Ports provides a Java environment based on JamVM and GNU
Classpath, which includes Ant, ECJ, OpenJDK langtools (apt, javac,
javah, javadoc, javap), Java-GNOME programs, fop, and several dozen
libraries.  It's not quite a Su^WOracle JRE but its enough for my needs.


Yes; but to use Oracle (or other Windows-based) JVMs mostly
requires setting PATH and CLASSPATH properly. Most particularly,
CLASSPATH needs to be in Windows format (';' separator, not ':',
and \ in file/directory paths, not /). This mostly requires
understanding of appropriate quoting and use of cygpath ...

Eliot Moss

--
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



Re: ISO: recommendations while setting up a new cygwin environment.

2011-08-03 Thread Charles Wilson
On 8/3/2011 5:36 PM, Eliot Moss wrote:
 Yes; but to use Oracle (or other Windows-based) JVMs mostly
 requires setting PATH and CLASSPATH properly. Most particularly,
 CLASSPATH needs to be in Windows format (';' separator, not ':',
 and \ in file/directory paths, not /). This mostly requires
 understanding of appropriate quoting and use of cygpath ...

Look here:

http://cygwin.com/cgi-bin/cvsweb.cgi/wrappers/java/?cvsroot=cygwin-apps

--
Chuck

--
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



odd socketpair() failure

2011-08-03 Thread Eric Blake
A while ago, I tested pipe() for EMFILE failures [1].  Well, I repeated 
those tests for socketpair() [2], and cygwin is once again the odd man out.


[1] http://cygwin.com/ml/cygwin/2011-06/msg00328.html
[2] http://austingroupbugs.net/view.php?id=483

$ cat foo.c
#define _POSIX_C_SOURCE 200811L
#define __EXTENSIONS__ 1
#include sys/types.h
#include sys/time.h
#include unistd.h
#include string.h
#include stdio.h
#include errno.h
#include fcntl.h
#include sys/socket.h
int
main (int argc, char **argv)
{
  int last;
  int fd[2] = {-2,-3};
  int err;
  /* Get to an EMFILE condition.  */
  while (1) {
int fd = open(/dev/null, O_RDONLY);
if (fd  0) {
  printf (after fd %d, open failed with errno %d %s\n,
  last, errno, strerror(errno));
  break;
}
last = fd;
  }
  /* Probe behavior */
  err = socketpair(AF_UNIX, SOCK_STREAM, 0, fd);
  if (err)
printf (try 1, socketpair returned %d errno %d %s, fds %d %d\n,
err, errno, strerror(errno), fd[0], fd[1]);
  else
printf (try 1, socketpair succeeded, fds %d %d\n, fd[0], fd[1]);
  if (close(last))
return 1;
  err = socketpair(AF_UNIX, SOCK_STREAM, 0, fd);
  if (err)
printf (try 2, socketpair returned %d errno %d %s, fds %d %d\n,
err, errno, strerror(errno), fd[0], fd[1]);
  else
printf (try 2, socketpair succeeded, fds %d %d\n, fd[0], fd[1]);
  if (close(0))
return 1;
  err = socketpair(AF_UNIX, SOCK_STREAM, 0, fd);
  if (err)
printf (try 3, socketpair returned %d errno %d %s, fds %d %d\n,
err, errno, strerror(errno), fd[0], fd[1]);
  else
printf (try 3, socketpair succeeded, fds %d %d\n, fd[0], fd[1]);
  return 0;
}
$ ./foo
after fd 3199, open failed with errno 24 Too many open files
try 1, socketpair returned -1 errno 24 Too many open files, fds -2 -3
try 2, socketpair returned -1 errno 24 Too many open files, fds -2 -3
try 3, socketpair returned -1 errno 24 Too many open files, fds -2 -3

But on Linux, try 3 succeeds.  Something in cygwin is not quite right on 
try 3 - the program explicitly freed two fd slots (0 and 3199), so it 
should have plenty of room to create the socketpair without hitting EMFILE.


Disclaimer: I tested on 1.7.9 rather than the latest snapshot; maybe the 
pipe() fix in the meantime also fixed socketpair()?


--
Eric Blake   ebl...@redhat.com+1-801-349-2682
Libvirt virtualization library http://libvirt.org

--
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



Re: [ANNOUNCEMENT] Updated: gdb-7.3.50-1

2011-08-03 Thread Chris Sutcliffe
On 3 August 2011 15:44, Yaakov (Cygwin/X) wrote:
 On Wed, 2011-08-03 at 06:33 -0400, Chris Sutcliffe wrote:
 Passing '--with-python=/usr/bin/python' as opposed to messing with
 CPPFLAGS, etc. might be easier.  I just recently built if for MinGW
 and specifying the python interpreter in '--with-python' caused gdb's
 configure to DTRT (in terms of locating the header files, appropriate
 libraries, etc.).

 cgf is cross-compiling GDB, which rules out using a Python interpreter
 to get this information, as noted in gdb/configure.ac.

Fair enough, I had thought cgf was compiling natively under Cygwin.

Cheers,

Chris

-- 
Chris Sutcliffe
http://emergedesktop.org
http://www.google.com/profiles/ir0nh34d

--
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



RE: Commands slow in wait_sig.

2011-08-03 Thread texas salsa

 Nothing in the above indicates that there is a problem in wait_sig.
 The delta times in an strace do not mean This is how long an operation
 took. They just indicate the number of microseconds since the last
 update to strace output.

 What the above says is:

 1) wait_sig is about to call ReadFile. It has been 9743 microseconds
 since strace last reported anytinng.

 2) There was a lag of 342445 microseconds before something happened in
 main. That could be symptomatic of the problem which the 8/01 snapshot
 works around. Or not.

 If it is only happening on one system that obviously points to BLODA.

 cgf


 
Hi,
 
Marco, cgf, Thanks for the reply.
 
I don't use bash-completion.
$ cygcheck -cd bash-completion
Cygwin Package Information
Package  Version
$
I do use symantec antivirus which is in the BLODA list. I disabled it and 
observed a little performance improvement.
 
  2 Thu Aug  4 09:41:55 2011
  1 Thu Aug  4 09:41:56 2011
  2 Thu Aug  4 09:41:57 2011
  1 Thu Aug  4 09:41:58 2011
  2 Thu Aug  4 09:41:59 2011
  1 Thu Aug  4 09:42:00 2011
  2 Thu Aug  4 09:42:01 2011

 
But not dramatically. Other PCs I have also have symantec antivirus and no 
problem. Also in the problem PC symantec antivirus 
had been installed from the beginning and no performance issue was seen before. 
So I doubt symantec is the main contributor 
to the command delay. But since no other systems with the same dll level do no 
see the problem, I think it is possible there 
may be other software that interfares cygwin's work. Is there any good way to 
find a specific BLODA that is having main effect
to my PC?
 
Regards,
Yuta
  

--
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



Device numbers, Cygwin vs. Linux

2011-08-03 Thread Yaakov (Cygwin/X)
I'm working on /proc/devices, but upon comparing to Linux[1], I
noticed some differences in character device numbering:

* /dev/tty
Linux is 5,0, Cygwin is 3,0

* /dev/tty[N]
Linux is 4,[N], Cygwin 136,N (major 136 is /dev/pts/N on Linux)

* /dev/console
Linux is 5,1, Cygwin is 3,0 (same as /dev/tty !)

* /dev/ttyS[N]
Linux is 4,[N+64], Cygwin is 117,[N]

Why these differences?


Yaakov

[1] http://www.kernel.org/pub/linux/docs/device-list/devices-2.6+.txt

--
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



Re: Device numbers, Cygwin vs. Linux

2011-08-03 Thread Christopher Faylor
On Wed, Aug 03, 2011 at 09:33:32PM -0500, Yaakov (Cygwin/X) wrote:
I'm working on /proc/devices, but upon comparing to Linux[1], I
noticed some differences in character device numbering:

* /dev/tty
Linux is 5,0, Cygwin is 3,0

You're using a snapshot.  After my pty reorg, Cygwin, probably
erroneously, effectively symlinks /dev/tty to whatever your current
tty is.  It will either be a pty or a console.

* /dev/tty[N]
Linux is 4,[N], Cygwin 136,N (major 136 is /dev/pts/N on Linux)

* /dev/console
Linux is 5,1, Cygwin is 3,0 (same as /dev/tty !)

See above.

* /dev/ttyS[N]
Linux is 4,[N+64], Cygwin is 117,[N]

Why these differences?

I had a reason when I set up the device numbers but I don't remember any
more.  I tried to adhere to linux but there wasn't a 1-1 correspondence.
And, possibly the numbering changed over time for linux.

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



Re: Device numbers, Cygwin vs. Linux

2011-08-03 Thread Yaakov (Cygwin/X)
On Wed, 2011-08-03 at 21:33 -0500, Yaakov (Cygwin/X) wrote:
 I'm working on /proc/devices, but upon comparing to Linux[1], I
 noticed some differences in character device numbering:
 
 * /dev/tty
 Linux is 5,0, Cygwin is 3,0
 
 * /dev/tty[N]
 Linux is 4,[N], Cygwin 136,N (major 136 is /dev/pts/N on Linux)
 
 * /dev/console
 Linux is 5,1, Cygwin is 3,0 (same as /dev/tty !)
 
 * /dev/ttyS[N]
 Linux is 4,[N+64], Cygwin is 117,[N]
 
 Why these differences?

One more:

* /dev/clipboard and /dev/windows are in major device 13, which on Linux
is for input devices (joysticks, mice, event queues).  Wouldn't major
device 10 (misc) be a better place for them?


Yaakov



--
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



Re: Device numbers, Cygwin vs. Linux

2011-08-03 Thread Christopher Faylor
On Wed, Aug 03, 2011 at 11:31:54PM -0500, Yaakov (Cygwin/X) wrote:
On Wed, 2011-08-03 at 21:33 -0500, Yaakov (Cygwin/X) wrote:
 I'm working on /proc/devices, but upon comparing to Linux[1], I
 noticed some differences in character device numbering:
 
 * /dev/tty
 Linux is 5,0, Cygwin is 3,0
 
 * /dev/tty[N]
 Linux is 4,[N], Cygwin 136,N (major 136 is /dev/pts/N on Linux)
 
 * /dev/console
 Linux is 5,1, Cygwin is 3,0 (same as /dev/tty !)
 
 * /dev/ttyS[N]
 Linux is 4,[N+64], Cygwin is 117,[N]
 
 Why these differences?

One more:

* /dev/clipboard and /dev/windows are in major device 13, which on Linux
is for input devices (joysticks, mice, event queues).  Wouldn't major
device 10 (misc) be a better place for them?

I believe that one of the reasons I didn't change the numbers is that
I didn't know if anything was relying on them.

As much as I like linux compatibility I don't see any reason to change
them now.

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