Changeset 673

Show
Ignore:
Timestamp:
03/15/07 23:44:59 (2 years ago)
Author:
alo
Message:

--

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • cherokee/trunk/ChangeLog

    r672 r673  
    112007-03-15  Alvaro Lopez Ortega  <alvaro@alobbs.com> 
     2 
     3        * cherokee/server.c, cherokee/plugin_loader.c, 
     4        cherokee/plugin_loader.h, qa/run-tests.py, qa/conf.py: Added a new 
     5        configuration key "module_deps" to allow setting the plug-in 
     6        dependency files. 
    27 
    38        * cherokee/plugin_loader.c (dylib_open): SO_SUFFIX replaced by 
  • cherokee/trunk/cherokee/plugin_loader.c

    r672 r673  
    175175        if (unlikely(ret < ret_ok)) return ret; 
    176176         
     177        /* Plug-in dir 
     178         */ 
    177179        ret = cherokee_buffer_init (&loader->module_dir); 
    178180        if (unlikely(ret < ret_ok)) return ret; 
    179181 
    180182        cherokee_buffer_add_str (&loader->module_dir, CHEROKEE_PLUGINDIR); 
     183 
     184        /* Plug-in dependencies dir 
     185         */ 
     186        ret = cherokee_buffer_init (&loader->deps_dir); 
     187        if (unlikely(ret < ret_ok)) return ret; 
     188 
     189        cherokee_buffer_add_str (&loader->deps_dir, CHEROKEE_DEPSDIR); 
    181190 
    182191        ret = load_static_linked_modules (loader); 
     
    339348        cherokee_buffer_t filename = CHEROKEE_BUF_INIT; 
    340349 
    341         cherokee_buffer_add_va (&filename, "%s/%s.deps", CHEROKEE_DEPSDIR, modname); 
     350        cherokee_buffer_add_va (&filename, "%s/%s.deps", loader->deps_dir.buf, modname); 
    342351        file = fopen (filename.buf, "r"); 
    343352        if (file == NULL) goto exit; 
     
    531540        return ret_ok; 
    532541} 
     542 
     543 
     544ret_t  
     545cherokee_plugin_loader_set_deps_dir (cherokee_plugin_loader_t *loader, cherokee_buffer_t *dir) 
     546{ 
     547        cherokee_buffer_clean (&loader->deps_dir); 
     548        cherokee_buffer_add_buffer (&loader->deps_dir, dir); 
     549 
     550        return ret_ok; 
     551} 
  • cherokee/trunk/cherokee/plugin_loader.h

    r597 r673  
    4444        cherokee_table_t        table; 
    4545        cherokee_buffer_t       module_dir; 
     46        cherokee_buffer_t       deps_dir; 
    4647} cherokee_plugin_loader_t; 
    4748 
     
    5455 
    5556ret_t cherokee_plugin_loader_set_directory  (cherokee_plugin_loader_t *loader, cherokee_buffer_t *dir); 
     57ret_t cherokee_plugin_loader_set_deps_dir   (cherokee_plugin_loader_t *loader, cherokee_buffer_t *dir); 
    5658ret_t cherokee_plugin_loader_load           (cherokee_plugin_loader_t *loader, char *modname); 
    5759ret_t cherokee_plugin_loader_load_no_global (cherokee_plugin_loader_t *loader, char *modname); 
  • cherokee/trunk/cherokee/server.c

    r635 r673  
    14421442                if (ret != ret_ok) return ret; 
    14431443 
    1444         } else if (equal_buf_str (&conf->key, "module_dir")) { 
     1444        } else if (equal_buf_str (&conf->key, "module_dir") || 
     1445                   equal_buf_str (&conf->key, "module_deps")) { 
    14451446                /* Ignore it: Previously handled  
    14461447                 */ 
     
    14661467        ret = cherokee_config_node_get (&srv->config, "server", &subconf); 
    14671468        if (ret == ret_ok) { 
    1468                 /* Modules dir 
     1469                /* Modules dir and deps 
    14691470                 */ 
    14701471                ret = cherokee_config_node_get (subconf, "module_dir", &subconf2); 
    14711472                if (ret == ret_ok) { 
    14721473                        ret = cherokee_plugin_loader_set_directory (&srv->loader, &subconf2->val); 
     1474                        if (ret != ret_ok) return ret; 
     1475                } 
     1476 
     1477                ret = cherokee_config_node_get (subconf, "module_deps", &subconf2); 
     1478                if (ret == ret_ok) { 
     1479                        ret = cherokee_plugin_loader_set_deps_dir (&srv->loader, &subconf2->val); 
    14731480                        if (ret != ret_ok) return ret; 
    14741481                } 
  • cherokee/trunk/configure.in

    r671 r673  
    422422dnl 
    423423with_pthread="yes" 
     424have_pthread="no" 
    424425AC_ARG_ENABLE(pthread, AC_HELP_STRING([--disable-pthread],[Disable threading support]), 
    425426                    with_pthread="$enableval", with_pthread="yes") 
     
    439440              if test -z "$PRESET_LDFLAGS"; then 
    440441                LDFLAGS="$LDFLAGS -pthread" 
     442                         have_pthread="yes" 
    441443              fi 
    442444           fi 
     
    451453                    AC_MSG_RESULT([-mt]) 
    452454           fi 
     455              have_pthread="yes" 
    453456           ;; 
    454457          *) 
     
    457460     esac 
    458461 
    459      AC_CHECK_LIB(pthread, main) 
     462        if test "$have_pthread" != "yes"; then 
     463        AC_CHECK_LIB(pthread, main, have_pthread=yes, have_pthread=no) 
     464     fi 
    460465 
    461466        dnl 
     
    498503             AC_DEFINE(HAVE_PTHREAD_SETSCHEDPOLICY, 1, [Pthread support pthread_attr_setschedpolicy]) 
    499504        fi 
    500                  
    501         with_pthread="yes" 
    502 fi 
     505fi 
     506 
     507if test "$have_pthread" = "yes"; then 
     508        AC_DEFINE(HAVE_PTHREAD, 1, [Have pthread support]) 
     509fi 
     510 
    503511 
    504512dnl 
     
    10961104        i=`expr $i + 1` 
    10971105done 
    1098 echo "Threading support     $with_pthread" 
     1106echo "Threading support     $have_pthread" 
    10991107echo "TLS support           $have_tls" 
    11001108echo "PCRE library          $have_pcre" 
  • cherokee/trunk/qa/conf.py

    r558 r673  
    44CHEROKEE_PATH     = "../cherokee/cherokee" 
    55CHEROKEE_MODS     = "../cherokee/.libs/" 
     6CHEROKEE_DEPS     = "../cherokee/" 
    67CHEROKEE_MIME     = "../mime.types.sample" 
    78CHEROKEE_PANIC    = "../cherokee/cherokee-panic" 
  • cherokee/trunk/qa/run-tests.py

    r639 r673  
    114114server!mime_files = %s 
    115115server!module_dir = %s 
     116server!module_deps = %s 
    116117 
    117118vserver!default!document_root = %s 
     
    119120vserver!default!directory!/!handler = common 
    120121vserver!default!directory!/!priority = 1 
    121 """ % (PORT, panic, pid, CHEROKEE_MIME, CHEROKEE_MODS, www) 
     122""" % (PORT, panic, pid, CHEROKEE_MIME, CHEROKEE_MODS, CHEROKEE_DEPS, www) 
    122123 
    123124PHP_FCGI = """extensions!php!handler = fcgi