Sorry for the list noise.  It was an error in some of my code.  I added some
code in cache_center.c to function cnt_fetch to stop varnish from caching
401 Unauthorized returns.  Anyway, I didn't know varnish's code very well
and wasn't aware that the variable I found that returned me the information
I needed was infact also returning me an fd.  Anyway, for those interested
here is my code that I added with the fix VBE_ClosedFd()
------------
cnt_fetch(struct sess *sp)
{
...
       vc = VBE_GetFd(sp);

       if (http_GetStatus(vc->http) == 401)
               sp->handling = VCL_RET_PASS;
       VBE_ClosedFd(sp->wrk, vc, 0);
...

       if (sp->handling == VCL_RET_ERROR)
               INCOMPL();

-------------------------
On 5/22/07, Dag-Erling Smørgrav <[EMAIL PROTECTED]> wrote:

cripy <[EMAIL PROTECTED]> writes:
> Hello, varnish suddenly dies after awhile with this message:
>
>>>
> Child said (2, 25657): <<Assert error in wrk_thread(), cache_pool.c line
> 213:
>  Condition((pipe(w->pipe)) == 0) not true.
>  errno = 24 (Too many open files)
>>>
>
>
> I have set the following in /etc/sysconfig/varnish:
> ulimit -n 131072
> NFILES=131072

Can you verify that the limit is actually applied?  e.g. add 'ulimit -a'
to /etc/init.d/varnish, right before where it starts varnishd, run
'/etc/init.d/varnish restart', and check that the file descriptor limit
really is 131072.

Can you also show us the result of typing 'param.show' in the management
interface?

DES
--
Dag-Erling Smørgrav
Senior Software Developer
Linpro AS - www.linpro.no

_______________________________________________
varnish-misc mailing list
varnish-misc@projects.linpro.no
http://projects.linpro.no/mailman/listinfo/varnish-misc

Reply via email to