X-Spam-Check-By: sourceware.org Message-ID: <45FF5528.70807@byu.net> Date: Mon, 19 Mar 2007 21:29:44 -0600 From: Eric Blake User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.10) Gecko/20070221 Thunderbird/1.5.0.10 Mnenhy/0.7.4.666 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: Cygwin speed References: <45E86FFD DOT 7060301 AT princeton DOT edu> <45E876FA DOT 7401B017 AT dessent DOT net> <20070305011713 DOT GG6734 AT ns1 DOT anodized DOT com> <45EF1CED DOT 608 AT t-online DOT de> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 According to Eric Blake on 3/7/2007 2:25 PM: >> Cygwin's sigprocmask() unconditionally calls sig_dispatch_pending(). > > And if cgf decides not to patch cygwin in this manner Fortunately, snapshots are patched now. >, I can at least try to > patch bash to not call sigprocmask() if it knows the mask is not changing. Unfortunately, it turned out to be harder than I expected to try and make bash work around this issue - both readline and bash call sigprocmask, and since they are not in the same binary, there is no way to make them share state short of adding an API to readline. Without remembering state, I can't avoid the overhead of a context swap (even calling sigprocmask(SIG_SETMASK,NULL,&set) was unnecessarily swapping). But I don't want to add an API to readline to remember state when the next release of cygwin already has a working sigprocmask. So the upshot is that bash builtins on cygwin 1.5.24 will remain slower than strictly necessary. Here's hoping that 1.7.0 isn't too far away! - -- Don't work too hard, make some time for fun as well! Eric Blake ebb9 AT byu DOT net -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (Cygwin) Comment: Public key at home.comcast.net/~ericblake/eblake.gpg Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFF/1L784KuGfSFAYARAukzAJ4n9tMULVtyPnkPnhGfgCrCa1er2QCfW/P1 wXZYhvXG38SlXVXkY3t37C8= =zgDF -----END PGP SIGNATURE----- -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/