[Varnish] #736: Migration to Cygwin plataform

Varnish varnish-bugs at varnish-cache.org
Fri Dec 17 04:07:51 CET 2010

#736: Migration to Cygwin plataform
  Reporter:  jdzst    |        Type:  enhancement    
    Status:  closed   |    Priority:  normal         
 Milestone:           |   Component:  build          
   Version:           |    Severity:  normal         
Resolution:  invalid  |    Keywords:  cygwin, windows

Comment(by jdzst):


 I have updated my version of varnish for cygwin. It is based on subversion
 trunk (r5646)[[BR]]

 The new improvements are:[[BR]]

   * Better compilation of VCL archives (in the past they were compiled
 using objects from varnish compilation directory)
   * Fixed regresion tests: varnishtest program server_thread function in
 vtc_server.c, after "fd = accept(s->sock, addr, &l);" If socket returned
 is wrong, it is not used.
   * Fixed regresion tests: varnishtest program is blocked in some tests.
 Test is executed succesfully  but varnishtest program is blocked when it
 stops server thread, so varnishtest timeouts and FAILS.
     * Server thread is blocked in TCP accept, waiting a request
 (server_thread function in vtc_server.c file) and main varnishtest is
 blocked in pthread_join (server_wait function in vtc_server.c file)
 waiting server thread to end.
     * In linux, pthread_join unblocks thread from its TCP accept but in
 Cygwin it does not.
     * The solution is to send a signal using pthread_kill (only in
 cygwin). The signal unblocks thread from its TCP accept.
     * I have tested varnish cache in cygwin against one apache server and
 it works fine. The patch applied in a Solaris and Linux server works

 After this changes, the result of regression test are: 9 tests failed, 202
 tests passed

 Failed tests:

 '''c00005.vtc "Test simple ACL"'''
 {{{error IPv6 [DNS lookup(::): hostname nor servname provided, or not
 CYGWIN does not support IPv6 in Windows XP. Maybe it works in newer

 '''s00002.vtc "Check grace with sick backends"'''
 {{{"Write failed: Bad file descriptor"

 '''b00015.vtc "Check synthetic error page caching"  and  v00009.vtc "Test
 round robin director"'''
 {{{bind(): Address already in use  [Assert error in server_start(),
 vtc_server.c line 183: Condition(s->sock >= 0) not true.]
 UNKNOWN ERROR: test server is started two times, the second time it says
 that port it is in use}}}

 '''VMOD regresion tests:  m00000.vtc, m00001.vtc, m00002.vtc, m00003.vtc
 and m00004.vtc'''
 {{{CYGWIN does not find new VMOD shared libraries
 A fix is need in order to load shared libraries of VMOD}}}


 #     top  TEST tests/b00015.vtc FAILED (7.039)
 #     top  TEST tests/c00005.vtc FAILED (7.766)
 #     top  TEST tests/m00000.vtc FAILED (3.131)
 #     top  TEST tests/m00001.vtc FAILED (3.007)
 #     top  TEST tests/m00002.vtc FAILED (2.830)
 #     top  TEST tests/m00003.vtc FAILED (2.894)
 #     top  TEST tests/m00004.vtc FAILED (3.279)
 #     top  TEST tests/s00002.vtc FAILED (9.977)
 #     top  TEST tests/v00009.vtc FAILED (5.509)

Ticket URL: <http://varnish-cache.org/trac/ticket/736#comment:12>
Varnish <http://varnish-cache.org/>
The Varnish HTTP Accelerator

More information about the varnish-bugs mailing list