This is the mail archive of the
cygwin-developers
mailing list for the Cygwin project.
Re: Can you undo change in sig_dispatch_pending() ?
- From: Corinna Vinschen <corinna-cygwin at cygwin dot com>
- To: cygwin-developers at cygwin dot com
- Date: Wed, 12 Dec 2007 20:01:38 +0100
- Subject: Re: Can you undo change in sig_dispatch_pending() ?
- References: <1616499095.20071030163505@unicorn.kiev.ua> <20071031114857.GA25626@ednor.casa.cgf.cx> <Pine.CYG.4.58.0712121227270.3644@PC1163-8460-XP.flightsafety.com>
- Reply-to: cygwin-developers at cygwin dot com
On Dec 12 12:33, Brian Ford wrote:
> On Wed, 31 Oct 2007, Christopher Faylor wrote:
>
> > However, if you think that this check can be put back then it seems like
> > the next logical step is to remove the sig_dispatch_pending from readv
> > and writev. Have you tried that?
>
> I was going to try and get back to analyzing this performance issue again,
> but I see that you committed this change:
Did you, by any chance, test if it makes a positive difference?
> $ cvs diff -r 1.466 -r 1.467 syscalls.cc
> Index: syscalls.cc
> ===================================================================
> RCS file: /cvs/src/src/winsup/cygwin/syscalls.cc,v
> retrieving revision 1.466
> retrieving revision 1.467
> diff -u -p -r1.466 -r1.467
> --- syscalls.cc 24 Aug 2007 14:55:56 -0000 1.466
> +++ syscalls.cc 8 Nov 2007 14:36:49 -0000 1.467
> @@ -743,8 +743,6 @@ readv (int fd, const struct iovec *const
>
> while (1)
> {
> - sig_dispatch_pending ();
> -
> cygheap_fdget cfd (fd);
> if (cfd < 0)
> break;
> @@ -814,7 +812,6 @@ extern "C" ssize_t
> writev (const int fd, const struct iovec *const iov, const int iovcnt)
> {
> int res = -1;
> - sig_dispatch_pending ();
> const ssize_t tot = check_iovec_for_write (iov, iovcnt);
>
> cygheap_fdget cfd (fd);
Chris, provided this was a planned change and if it has a positive
effect on performance, would that be something for 1.5.25 as well?
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat