delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2012/06/01/15:51:37

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-3.7 required=5.0 tests=AWL,BAYES_00,KHOP_PGP_SIGNED,T_RP_MATCHES_RCVD
X-Spam-Check-By: sourceware.org
Date: Fri, 1 Jun 2012 14:51:07 -0500
From: "Ryan C. Underwood" <nemesis-lists AT icequake DOT net>
To: cygwin AT cygwin DOT com
Subject: Re: How to "bisect" Cygwin?
Message-ID: <20120601195107.GF25227@localhost.localdomain>
Reply-To: nemesis AT icequake DOT net
References: <20120531210143 DOT GA11744 AT localhost DOT localdomain> <20120601174610 DOT GD25227 AT localhost DOT localdomain> <20120601181852 DOT GF28506 AT calimero DOT vinschen DOT de> <20120601184041 DOT GE25227 AT localhost DOT localdomain> <20120601185906 DOT GG28506 AT calimero DOT vinschen DOT de>
MIME-Version: 1.0
In-Reply-To: <20120601185906.GG28506@calimero.vinschen.de>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

--XIiC+We3v3zHqZ6Z
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Jun 01, 2012 at 08:59:06PM +0200, Corinna Vinschen wrote:
> >=20
> > Thanks, I have no idea why I did not receive that mail.  I looked for
> > "nightly builds" but that would have been why I didn't find such.

-20111216, the oldest snapshot, already produces the problem, so I
guess that at least tells me that my problem came in somewhere between
1.7.9 and the end of 2011.  Are there older snapshots archived?

> If you can press a long story into a short testcase in plain C with the
> bare minimum of code to reproduce the behaviour, it would be much
> appreciated.

The basic issue is that sem_wait() is being kicked out with EINTR
extremely frequently (9 out of 10 times or more), which slows my code
to a crawl as it repeatedly retries sem_wait() until it finally
returns zero.  In 1.7.9, it does not appear that sem_wait() is
preempted in this fashion; the thread would simply wait on the
semaphore until it was sem_post()'d and then continue as expected.

Like I said, I am not exactly sure my code is not to blame at this
point, but as a starting point for analysis I wanted to see if this
change in semantics was deliberate or not and if there was any mailing
list discussion or code comments about it at the time the change was
made.

--=20
Ryan C. Underwood, <nemesis AT icequake DOT net>

--XIiC+We3v3zHqZ6Z
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iD8DBQFPyR0rIonHnh+67jkRAkIAAJsHnkSCWGl3vr2RmO28ZChbYovAfgCfUagi
cxMUp4EXFnpeIJRrFLT3q5k=
=NY+L
-----END PGP SIGNATURE-----

--XIiC+We3v3zHqZ6Z--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019