delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/09/01/13:51:08

X-Spam-Check-By: sourceware.org
Date: Fri, 1 Sep 2006 13:50:56 -0400
From: Christopher Faylor <cgf-no-personal-reply-please AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: bash problems ? (was Re: cygwin fork())
Message-ID: <20060901175056.GA11202@trixie.casa.cgf.cx>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <20060901100138 DOT GA7444 AT ns1 DOT anodized DOT com> <Pine DOT GSO DOT 4 DOT 63 DOT 0609011023420 DOT 13719 AT access1 DOT cims DOT nyu DOT edu> <20060901153709 DOT GC7663 AT ns1 DOT anodized DOT com> <20060901155403 DOT GE5926 AT trixie DOT casa DOT cgf DOT cx> <20060901160911 DOT GA30633 AT ns1 DOT anodized DOT com> <20060901163415 DOT GB30633 AT ns1 DOT anodized DOT com> <20060901170451 DOT GC30633 AT ns1 DOT anodized DOT com> <20060901172457 DOT GA10511 AT trixie DOT casa DOT cgf DOT cx> <20060901174713 DOT GE30633 AT ns1 DOT anodized DOT com>
Mime-Version: 1.0
In-Reply-To: <20060901174713.GE30633@ns1.anodized.com>
User-Agent: Mutt/1.5.11
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
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

I'm just changing the subject so that Eric will, with luck, notice
and comment on what's going on here.

cgf

On Fri, Sep 01, 2006 at 10:47:13AM -0700, clayne AT anodized DOT com wrote:
>On Fri, Sep 01, 2006 at 01:24:57PM -0400, Christopher Faylor wrote:
>> >In regards to setting the fd to textmode as a way of stripping CRs.
>> >Only problem is that it's making 213,110 syscalls for a 213k libtool
>> >script.  That cannot be an efficient way to remove CRs from input.
>> 
>> Opening a file with O_TEXT should not, AFAIK, cause a bunch of one-byte
>> reads.
>> 
>> A simple test case (tm) seems to confirm that.
>
>You're right. I also verified this.
>
>I found the real culprit, which I had also ifdef'd out because it looked
>bogus and crufty:
>
>/* Return 1 if a seek on FD will succeed. */
>#ifndef __CYGWIN__
>#  define fd_is_seekable(fd) (lseek ((fd), 0L, SEEK_CUR) >= 0)
>#else
>#  define fd_is_seekable(fd) 0
>#endif /* __CYGWIN__ */
>
>/* Take FD, a file descriptor, and create and return a buffered stream
>   corresponding to it.  If something is wrong and the file descriptor
>   is invalid, return a NULL stream. */
>BUFFERED_STREAM *
>fd_to_buffered_stream (fd)
>     int fd;
>{
>  char *buffer;
>  size_t size;
>  struct stat sb;
>
>  if (fstat (fd, &sb) < 0)
>    {
>      close (fd);
>      return ((BUFFERED_STREAM *)NULL);
>    }
>
>  size = (fd_is_seekable (fd)) ? min (sb.st_size, MAX_INPUT_BUFFER_SIZE) : 1;
>  if (size == 0)
>    size = 1;
>  buffer = (char *)xmalloc (size);
>
>  return (make_buffered_stream (fd, buffer, size));
>}

--
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/

- Raw text -


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