Roxen.git / server / etc / modules / Servlet.pmod

version» Context lines:

Roxen.git/server/etc/modules/Servlet.pmod:133:    }      }      class servlet {       protected object s, d;    protected object context;    protected string classname;    int singlethreaded = 0; - #if constant(thread_create) +     protected object lock; - #endif +        void destroy()    {    if(s && d) {    d(s);    s = 0;    }    }       void service(object req, object|void res)    {    if(!res) {    res = response(req->my_fd);    req = request(context, req);    }    set_response_method(req, res); - #if constant(thread_create) +     if(singlethreaded) {    object key = lock->lock();    servlet_service(s, req, res);    key = 0;    } else - #endif +     servlet_service(s, req, res);    check_exception();    wrapup_method(res);    check_exception();    }       string info()    {    object i = servlet_getservletinfo(s);    check_exception();
Roxen.git/server/etc/modules/Servlet.pmod:200:       if(!name) {    destruct(this_object());    return;    }    s = new_instance(name);    check_exception();    if(!s->is_instance_of(servlet_ifc))    error("class does not implement javax.servlet.Servlet\n");    if(s->is_instance_of(singlethread_ifc)) { - #if constant(thread_create) +     lock = Thread.Mutex(); - #endif +     singlethreaded = 1;    }    }      };      class loader {       protected object cl;