summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Christopher Anderson <jchris@apache.org>2009-03-06 18:20:09 +0000
committerJohn Christopher Anderson <jchris@apache.org>2009-03-06 18:20:09 +0000
commit5b9b9823e091b6e8720d3930785f59c424239daa (patch)
treef303f9ce00d2e9152a4bd5a84529d3e8672d6198
parentca79ad7b3104ba4a55006a358b3b7ff2f0c060e8 (diff)
configure view and external server timeout in using ini variables.
closes COUCHDB-246 git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@751020 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--etc/couchdb/default.ini.tpl.in2
-rw-r--r--src/couchdb/couch_os_process.erl4
2 files changed, 4 insertions, 2 deletions
diff --git a/etc/couchdb/default.ini.tpl.in b/etc/couchdb/default.ini.tpl.in
index 0a5dd0a2..8deca3cf 100644
--- a/etc/couchdb/default.ini.tpl.in
+++ b/etc/couchdb/default.ini.tpl.in
@@ -8,7 +8,7 @@ view_index_dir = %localstatelibdir%
util_driver_dir = %couchprivlibdir%
max_document_size = 4294967296 ; 4 GB
max_attachment_chunk_size = 4294967296 ; 4GB
-view_timeout = 5000 ; 5 seconds
+os_process_timeout = 5000 ; 5 seconds. for view and external servers.
max_dbs_open = 100
[httpd]
diff --git a/src/couchdb/couch_os_process.erl b/src/couchdb/couch_os_process.erl
index 63cc07b0..a6c7ef25 100644
--- a/src/couchdb/couch_os_process.erl
+++ b/src/couchdb/couch_os_process.erl
@@ -99,12 +99,14 @@ readjson(OsProc) when is_record(OsProc, os_proc) ->
% gen_server API
init([Command, Options, PortOptions]) ->
+ BaseTimeOut = list_to_integer(couch_config:get(
+ "couchdb", "os_process_timeout", "5000")),
BaseProc = #os_proc{
command=Command,
port=open_port({spawn, Command}, PortOptions),
writer=fun writejson/2,
reader=fun readjson/1,
- timeout=5000
+ timeout=BaseTimeOut
},
OsProc =
lists:foldl(fun(Opt, Proc) ->