Cliff Woolley wrote:

> On Sat, 22 Dec 2001, Stas Bekman wrote:
> 
> 
>>I think the misunderstanding started from the moment Cliff forwarded my
>>email, but snipped the end of it. At at the end it had:
>>
>>[Fri Dec 21 02:03:29 2001] file core.c, line 2271, assertion
>>"total_bytes_left > 0 && tmplen > 0" failed
>>[Fri Dec 21 02:03:30 2001] [error] server reached MaxClients setting,
>>consider raising the MaxClients setting
>>[Fri Dec 21 02:03:30 2001] [notice] child pid 2607 exit signal Aborted
>>(6), possible coredump in /home/stas/apache.org/mp-subproc/t
>>
>>I was just asking why if the code *does* the check and asserts
>>
> 
> You must be in maintainer mode if it actually did the check.


yup!


>>(see the log before the stack trace), it also dumps core?
> 
> Because that's what assert does.  :)  It exits with an Aborted signal,
> which triggers a coredump for debugging purposes.  (coredump != SEGV)


OK, that explains everything. Sorry for bothering you with this.


>>My goal is somehow to get back the ability to take an OS specific fh
>>generated outside APR, convert it into apr_file_t and be able to use
>>send_fd optionally without specifying the length, as it was possible in
>>1.3.x.
>>
> 
> Is it the case that you know whether the thing is a file or a pipe?  If
> so, just use the correct kind of bucket directly.  If you know the thing
> is a file and you just don't know the length, do the fseek/ftell yourself.
> The thing will be _way_ faster.  If you give the buckets code a file
> descriptor and don't know the length, (assuming that were possible, which
> it currently isn't, unless you were to put the file into a pipe bucket),
> it would have to read the file 8KB at a time, rather than being able to
> MMAP it or sendfile() the fd.  That's a massive amount of overhead that
> you probably want to avoid like the plague (I've benchmarked it... it's
> awful, even for files < 8KB).
> 
> Just stop using ap_send_fd().  Use the buckets code directly.  For one
> thing, you can save yourself some extra brigade-creation overhead, and you
> can probably save yourself a few calls down the filter stack as well.
> (And yes, the code I gave you the other day will work for files as well.
> While you could in theory put a file into a pipe bucket, I wouldn't
> recommend it.)

Thanks Cliff, I understand how to go about it now.


_____________________________________________________________________
Stas Bekman             JAm_pH      --   Just Another mod_perl Hacker
http://stason.org/      mod_perl Guide   http://perl.apache.org/guide
mailto:[EMAIL PROTECTED]  http://ticketmaster.com http://apacheweek.com
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/

Reply via email to