Can you undo change in sig_dispatch_pending() ?

Corinna Vinschen corinna-cygwin@cygwin.com
Wed Dec 12 19:01:00 GMT 2007


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



More information about the Cygwin-developers mailing list