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


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

Re: Cygwin speed


-----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@byu.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/


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