Modified: tuscany/sca-cpp/trunk/modules/server/mod-scheme.hpp
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/server/mod-scheme.hpp?rev=1419987&r1=1419986&r2=1419987&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/server/mod-scheme.hpp (original)
+++ tuscany/sca-cpp/trunk/modules/server/mod-scheme.hpp Tue Dec 11 04:03:29 2012
@@ -49,39 +49,30 @@ const list<value> primitiveProcedures(co
}
/**
- * Apply a Scheme component implementation function.
- */
-struct applyImplementation {
- const value impl;
- const list<value> px;
-
- applyImplementation(const value& impl, const list<value>& px) : impl(impl),
px(scheme::quotedParameters(primitiveProcedures(px))) {
- }
-
- const value operator()(const list<value>& params) const {
- const value expr = cons<value>(car(params), append(scheme::quotedParameters(cdr(params)),
px));
- debug(expr, "modeval::scheme::applyImplementation::input");
- scheme::Env env = scheme::setupEnvironment();
- const value res = scheme::evalScript(expr, impl, env);
- const value val = isNil(res)? mklist<value>(value(), string("Could not evaluate
expression")) : mklist<value>(res);
- debug(val, "modeval::scheme::applyImplementation::result");
- return val;
- }
-};
-
-/**
* Evaluate a Scheme component implementation and convert it to an
* applicable lambda function.
*/
-const failable<lambda<value(const list<value>&)> > evalImplementation(const
string& path, const value& impl, const list<value>& px) {
- const string fpath(path + attributeValue("script", impl));
+const failable<lvvlambda > evalImplementation(const string& path, const value&
impl, const list<value>& px) {
+ const string fpath(path + (string)attributeValue("script", impl));
ifstream is(fpath);
if (fail(is))
- return mkfailure<lambda<value(const list<value>&)> >(string("Could
not read implementation: ") + fpath);
+ return mkfailure<lvvlambda >(string("Could not read implementation: ") + fpath);
const value script = scheme::readScript(is);
if (isNil(script))
- return mkfailure<lambda<value(const list<value>&)> >(string("Could
not read implementation: ") + fpath);
- return lambda<value(const list<value>&)>(applyImplementation(script,
px));
+ return mkfailure<lvvlambda >(string("Could not read implementation: ") + fpath);
+ const list<value> pxproc = scheme::quotedParameters(primitiveProcedures(px));
+
+ const lvvlambda applyImplementation = [script, pxproc](const list<value>& params)
-> const value {
+ // Apply a Scheme component implementation function
+ const value expr = cons<value>(car(params), append(scheme::quotedParameters(cdr(params)),
pxproc));
+ debug(expr, "modeval::scheme::applyImplementation::input");
+ scheme::Env env = scheme::setupEnvironment();
+ const value res = scheme::evalScript(expr, script, env);
+ const value val = isNil(res)? mklist<value>(nilValue, string("Could not evaluate
expression")) : mklist<value>(res);
+ debug(val, "modeval::scheme::applyImplementation::result");
+ return val;
+ };
+ return applyImplementation;
}
}
Modified: tuscany/sca-cpp/trunk/modules/server/server-conf
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/server/server-conf?rev=1419987&r1=1419986&r2=1419987&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/server/server-conf (original)
+++ tuscany/sca-cpp/trunk/modules/server/server-conf Tue Dec 11 04:03:29 2012
@@ -22,6 +22,18 @@ here=`echo "import os; print os.path.rea
mkdir -p $1
root=`echo "import os; print os.path.realpath('$1')" | python`
+# Configure thread stack size on MacOS X
+uname=`uname -s`
+if [ "$uname" = "Darwin" ]; then
+ cat >>$root/conf/mpm.conf <<EOF
+# Generated by: httpd-conf $*
+# Set thread stack size
+ThreadStackSize 2097152
+
+EOF
+
+fi
+
# Serve Javascript scripts and CSS
$here/../js/js-conf $1
Modified: tuscany/sca-cpp/trunk/modules/wsgi/Makefile.am
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/wsgi/Makefile.am?rev=1419987&r1=1419986&r2=1419987&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/wsgi/Makefile.am (original)
+++ tuscany/sca-cpp/trunk/modules/wsgi/Makefile.am Tue Dec 11 04:03:29 2012
@@ -43,7 +43,7 @@ gae.prefix: $(top_builddir)/config.statu
EXTRA_DIST = domain-test.composite *.py htdocs/test/*.xml htdocs/test/*.txt htdocs/*.html
client_test_SOURCES = client-test.cpp
-client_test_LDFLAGS = -lxml2 -lcurl -lmozjs
+client_test_LDFLAGS = -lxml2 -lcurl -ljansson
noinst_PROGRAMS = client-test
Modified: tuscany/sca-cpp/trunk/modules/wsgi/client-test.cpp
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/wsgi/client-test.cpp?rev=1419987&r1=1419986&r2=1419987&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/wsgi/client-test.cpp (original)
+++ tuscany/sca-cpp/trunk/modules/wsgi/client-test.cpp Tue Dec 11 04:03:29 2012
@@ -27,7 +27,7 @@
#include "string.hpp"
#include "../server/client-test.hpp"
-int main(const int argc, const char** argv) {
+int main(const int argc, const char** const argv) {
tuscany::cout << "Testing..." << tuscany::endl;
tuscany::server::testURI = argc < 2? "http://localhost:8090/wsgi" : argv[1];
tuscany::server::testBlobs = false;
|