1
0
Fork 0

Merge branch 'master' of github.com:triAGENS/ArangoDB into devel

Conflicts:
	.gitignore
	Makefile.in
	Makefile.local
	Makefile.unittests
This commit is contained in:
Frank Celler 2012-08-09 15:25:29 +02:00
commit 69a8e64f9b
40 changed files with 447 additions and 178 deletions

127
.gitignore vendored
View File

@ -1,4 +1,8 @@
*~ *~
3rdParty/czmq-1.1.0/libtool
3rdParty/czmq-1.1.0/src/czmq_selftest
3rdParty/czmq-1.1.0/src/libczmq.pc
3rdParty/czmq-1.1.0/src/platform.h
3rdParty/libev/ARCH.x64 3rdParty/libev/ARCH.x64
3rdParty/libev/libtool 3rdParty/libev/libtool
3rdParty/mruby/bin/mrbc 3rdParty/mruby/bin/mrbc
@ -11,9 +15,61 @@
3rdParty/mruby/mrblib/mrblib.c 3rdParty/mruby/mrblib/mrblib.c
3rdParty/mruby/mrblib/mrblib.ctmp 3rdParty/mruby/mrblib/mrblib.ctmp
3rdParty/mruby/mrblib/mrblib.rbtmp 3rdParty/mruby/mrblib/mrblib.rbtmp
3rdParty/protobuf-2.4.1/BUILD/
3rdParty/protobuf-2.4.1/gtest/libtool
3rdParty/protobuf-2.4.1/gtest/scripts/gtest-config
3rdParty/protobuf-2.4.1/libtool
3rdParty/protobuf-2.4.1/protobuf-lite.pc
3rdParty/protobuf-2.4.1/protobuf.pc
3rdParty/protobuf-2.4.1/src/google/protobuf/compiler/cpp/cpp_test_bad_identifiers.pb.cc
3rdParty/protobuf-2.4.1/src/google/protobuf/compiler/cpp/cpp_test_bad_identifiers.pb.h
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_custom_options.pb.cc
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_custom_options.pb.h
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_embed_optimize_for.pb.cc
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_embed_optimize_for.pb.h
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_empty.pb.cc
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_empty.pb.h
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_import_lite.pb.cc
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_import_lite.pb.h
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_import.pb.cc
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_import.pb.h
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_lite_imports_nonlite.pb.cc
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_lite_imports_nonlite.pb.h
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_lite.pb.cc
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_lite.pb.h
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_mset.pb.cc
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_mset.pb.h
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_no_generic_services.pb.cc
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_no_generic_services.pb.h
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_optimize_for.pb.cc
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_optimize_for.pb.h
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest.pb.cc
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest.pb.h
3rdParty/protobuf-2.4.1/src/protoc
3rdParty/protobuf-2.4.1/src/unittest_proto_middleman
3rdParty/ptmalloc3/tst-independent-alloc 3rdParty/ptmalloc3/tst-independent-alloc
3rdParty/ptmalloc3/t-test1 3rdParty/ptmalloc3/t-test1
3rdParty/ptmalloc3/t-test2 3rdParty/ptmalloc3/t-test2
3rdParty/zeromq-2.2.0/BUILD/
3rdParty/zeromq-2.2.0/builds/redhat/zeromq.spec
3rdParty/zeromq-2.2.0/libtool
3rdParty/zeromq-2.2.0/perf/inproc_lat
3rdParty/zeromq-2.2.0/perf/inproc_thr
3rdParty/zeromq-2.2.0/perf/local_lat
3rdParty/zeromq-2.2.0/perf/local_thr
3rdParty/zeromq-2.2.0/perf/remote_lat
3rdParty/zeromq-2.2.0/perf/remote_thr
3rdParty/zeromq-2.2.0/src/libzmq.pc
3rdParty/zeromq-2.2.0/src/platform.hpp
3rdParty/zeromq-2.2.0/tests/test_hwm
3rdParty/zeromq-2.2.0/tests/test_pair_inproc
3rdParty/zeromq-2.2.0/tests/test_pair_ipc
3rdParty/zeromq-2.2.0/tests/test_pair_tcp
3rdParty/zeromq-2.2.0/tests/test_reqrep_inproc
3rdParty/zeromq-2.2.0/tests/test_reqrep_ipc
3rdParty/zeromq-2.2.0/tests/test_reqrep_tcp
3rdParty/zeromq-2.2.0/tests/test_shutdown_stress
3rdParty/zeromq-2.2.0/tests/test_timeo
arangod/Ahuacatl/ahuacatl-grammar.output arangod/Ahuacatl/ahuacatl-grammar.output
ARCH.* ARCH.*
autom4te.cache autom4te.cache
@ -29,14 +85,17 @@ config.h
config.log config.log
config/revision.sh config/revision.sh
config.status config.status
configure
config/version.sh config/version.sh
COVERAGE COVERAGE
.czmq-build-64
.deps .deps
.dirstamp .dirstamp
Doxygen/arango.doxy Doxygen/arango.doxy
Doxygen/html/ Doxygen/html/
Doxygen/js Doxygen/js
Doxygen/latex/ Doxygen/latex/
Doxygen/manuals
Doxygen/.setup-directories Doxygen/.setup-directories
Doxygen/web/*.html Doxygen/web/*.html
Doxygen/wiki/ Doxygen/wiki/
@ -47,14 +106,15 @@ Doxygen/xml/
GPATH GPATH
GRTAGS GRTAGS
GTAGS GTAGS
lib/JsonParserX/JsonParserX.output Installation/arangod.conf
*.la *.la
lib*.a lib*.a
lib/BasicsC/local-configuration.h lib/BasicsC/local-configuration.h
lib/Documentation/*.pdf
.libev-build-* .libev-build-*
lib/JsonParserX/JsonParserX.output
.libs .libs
*.lo *.lo
configure
m4/component.engine m4/component.engine
m4/component.files m4/component.files
m4/component.storage m4/component.storage
@ -80,6 +140,7 @@ Makefile.local
*.old *.old
out out
*.Po *.Po
.protobuf-build-64
*.pyc *.pyc
.setup-js-directories .setup-js-directories
.setup-mr-directories .setup-mr-directories
@ -90,6 +151,7 @@ tags
TAGS TAGS
UnitTests/basics_suite UnitTests/basics_suite
UnitTests/geo_suite UnitTests/geo_suite
UnitTests/HttpInterface/Gemfile.lock
UnitTests/HttpInterface/logs UnitTests/HttpInterface/logs
UnitTests/Jutland/CsvReaderTest.cpp UnitTests/Jutland/CsvReaderTest.cpp
UnitTests/Jutland/Makefile.am UnitTests/Jutland/Makefile.am
@ -100,65 +162,4 @@ UnitTests/Philadelphia/Makefile.py
UnitTests/Philadelphia/Runner.cpp UnitTests/Philadelphia/Runner.cpp
.v8-build-* .v8-build-*
VC++ VC++
3rdParty/protobuf-2.4.1/gtest/libtool
3rdParty/protobuf-2.4.1/gtest/scripts/gtest-config
3rdParty/protobuf-2.4.1/libtool
3rdParty/protobuf-2.4.1/protobuf-lite.pc
3rdParty/protobuf-2.4.1/protobuf.pc
3rdParty/protobuf-2.4.1/src/google/protobuf/compiler/cpp/cpp_test_bad_identifiers.pb.cc
3rdParty/protobuf-2.4.1/src/google/protobuf/compiler/cpp/cpp_test_bad_identifiers.pb.h
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest.pb.cc
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest.pb.h
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_custom_options.pb.cc
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_custom_options.pb.h
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_embed_optimize_for.pb.cc
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_embed_optimize_for.pb.h
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_empty.pb.cc
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_empty.pb.h
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_import.pb.cc
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_import.pb.h
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_import_lite.pb.cc
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_import_lite.pb.h
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_lite.pb.cc
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_lite.pb.h
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_lite_imports_nonlite.pb.cc
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_lite_imports_nonlite.pb.h
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_mset.pb.cc
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_mset.pb.h
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_no_generic_services.pb.cc
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_no_generic_services.pb.h
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_optimize_for.pb.cc
3rdParty/protobuf-2.4.1/src/google/protobuf/unittest_optimize_for.pb.h
3rdParty/protobuf-2.4.1/src/protoc
3rdParty/protobuf-2.4.1/src/unittest_proto_middleman
3rdParty/zeromq-2.2.0/builds/redhat/zeromq.spec
3rdParty/zeromq-2.2.0/libtool
3rdParty/zeromq-2.2.0/perf/inproc_lat
3rdParty/zeromq-2.2.0/perf/inproc_thr
3rdParty/zeromq-2.2.0/perf/local_lat
3rdParty/zeromq-2.2.0/perf/local_thr
3rdParty/zeromq-2.2.0/perf/remote_lat
3rdParty/zeromq-2.2.0/perf/remote_thr
3rdParty/zeromq-2.2.0/src/libzmq.pc
3rdParty/zeromq-2.2.0/src/platform.hpp
3rdParty/zeromq-2.2.0/tests/test_hwm
3rdParty/zeromq-2.2.0/tests/test_pair_inproc
3rdParty/zeromq-2.2.0/tests/test_pair_ipc
3rdParty/zeromq-2.2.0/tests/test_pair_tcp
3rdParty/zeromq-2.2.0/tests/test_reqrep_inproc
3rdParty/zeromq-2.2.0/tests/test_reqrep_ipc
3rdParty/zeromq-2.2.0/tests/test_reqrep_tcp
3rdParty/zeromq-2.2.0/tests/test_shutdown_stress
3rdParty/zeromq-2.2.0/tests/test_timeo
.zeromq-build-64 .zeromq-build-64
3rdParty/zeromq-2.2.0/BUILD/
.czmq-build-64
3rdParty/czmq-1.1.0/libtool
3rdParty/czmq-1.1.0/src/czmq_selftest
3rdParty/czmq-1.1.0/src/libczmq.pc
3rdParty/czmq-1.1.0/src/platform.h
.protobuf-build-64
3rdParty/protobuf-2.4.1/BUILD/
Installation/arangod.conf
lib/Documentation/*.pdf
Doxygen/manuals

9
.travis.yml Normal file
View File

@ -0,0 +1,9 @@
language: c
before_script: "bash -c 'cd UnitTests/HttpInterface && bundle'"
script: "./configure && make && ./unittests.sh"
branches:
only:
- master
- 1.0
- 1.1

View File

@ -31,7 +31,7 @@ PROJECT_NAME = "ArangoDB"
# This could be handy for archiving the generated documentation or # This could be handy for archiving the generated documentation or
# if some version control system is used. # if some version control system is used.
PROJECT_NUMBER = 1.0.beta1 PROJECT_NUMBER = 1.0.beta2
# Using the PROJECT_BRIEF tag one can provide an optional one line description for a project that appears at the top of each page and should give viewer a quick idea about the purpose of the project. Keep the description short. # Using the PROJECT_BRIEF tag one can provide an optional one line description for a project that appears at the top of each page and should give viewer a quick idea about the purpose of the project. Keep the description short.
@ -212,7 +212,7 @@ ALIASES += GE{1}="<b>\1</b>"
ALIASES += EXAMPLES="<b>Examples</b><br>" ALIASES += EXAMPLES="<b>Examples</b><br>"
ALIASES += EXAMPLE{2}="@latexonly\renewcommand{\examplecap}{\2}\setboolean{hascap}{true}@endlatexonly@verbinclude \1@latexonly\setboolean{hascap}{false}@endlatexonly" ALIASES += EXAMPLE{2}="@latexonly\renewcommand{\examplecap}{\2}\setboolean{hascap}{true}@endlatexonly@verbinclude \1@latexonly\setboolean{hascap}{false}@endlatexonly"
ALIASES += TINYEXAMPLE{2}="@latexonly\renewcommand{\examplecap}{\2}\setboolean{hascap}{true}\renewcommand{\examplesize}{\tiny}@endlatexonly@verbinclude \1@latexonly\setboolean{hascap}{false}\renewcommand{\examplesize}{\ttfamily}@endlatexonly" ALIASES += TINYEXAMPLE{2}="@latexonly\renewcommand{\examplecap}{\2}\setboolean{hascap}{true}\renewcommand{\examplesize}{\tiny}@endlatexonly@verbinclude \1@latexonly\setboolean{hascap}{false}\renewcommand{\examplesize}{\ttfamily}@endlatexonly"
ALIASES += VERSION="1.0.beta1" ALIASES += VERSION="1.0.beta2"
ALIASES += EMBEDTOC{1}="@ifnot LATEX<hr>@copydoc \1<hr>@endif" ALIASES += EMBEDTOC{1}="@ifnot LATEX<hr>@copydoc \1<hr>@endif"
ALIASES += RESTHEADER{2}="@if LATEX@latexonly \vskip 0.5em\colorbox{gray}{@endlatexonly\1 (\2)@latexonly}\vskip 1em@endlatexonly@else <hr><em>\1</em> (\2)<hr><br>@endif" ALIASES += RESTHEADER{2}="@if LATEX@latexonly \vskip 0.5em\colorbox{gray}{@endlatexonly\1 (\2)@latexonly}\vskip 1em@endlatexonly@else <hr><em>\1</em> (\2)<hr><br>@endif"
ALIASES += LATEXBREAK="@latexonly\vskip -0.5em\hskip 1.0em@endlatexonly" ALIASES += LATEXBREAK="@latexonly\vskip -0.5em\hskip 1.0em@endlatexonly"

View File

@ -31,7 +31,7 @@ PROJECT_NAME = "ArangoDB"
# This could be handy for archiving the generated documentation or # This could be handy for archiving the generated documentation or
# if some version control system is used. # if some version control system is used.
PROJECT_NUMBER = 1.0.beta1 PROJECT_NUMBER = 1.0.beta2
# Using the PROJECT_BRIEF tag one can provide an optional one line description for a project that appears at the top of each page and should give viewer a quick idea about the purpose of the project. Keep the description short. # Using the PROJECT_BRIEF tag one can provide an optional one line description for a project that appears at the top of each page and should give viewer a quick idea about the purpose of the project. Keep the description short.
@ -212,7 +212,7 @@ ALIASES += GE{1}="<b>\1</b>"
ALIASES += EXAMPLES="<b>Examples</b><br>" ALIASES += EXAMPLES="<b>Examples</b><br>"
ALIASES += EXAMPLE{2}="@latexonly\renewcommand{\examplecap}{\2}\setboolean{hascap}{true}@endlatexonly@verbinclude \1@latexonly\setboolean{hascap}{false}@endlatexonly" ALIASES += EXAMPLE{2}="@latexonly\renewcommand{\examplecap}{\2}\setboolean{hascap}{true}@endlatexonly@verbinclude \1@latexonly\setboolean{hascap}{false}@endlatexonly"
ALIASES += TINYEXAMPLE{2}="@latexonly\renewcommand{\examplecap}{\2}\setboolean{hascap}{true}\renewcommand{\examplesize}{\tiny}@endlatexonly@verbinclude \1@latexonly\setboolean{hascap}{false}\renewcommand{\examplesize}{\ttfamily}@endlatexonly" ALIASES += TINYEXAMPLE{2}="@latexonly\renewcommand{\examplecap}{\2}\setboolean{hascap}{true}\renewcommand{\examplesize}{\tiny}@endlatexonly@verbinclude \1@latexonly\setboolean{hascap}{false}\renewcommand{\examplesize}{\ttfamily}@endlatexonly"
ALIASES += VERSION="1.0.beta1" ALIASES += VERSION="1.0.beta2"
ALIASES += EMBEDTOC{1}="@ifnot LATEX<hr>@copydoc \1<hr>@endif" ALIASES += EMBEDTOC{1}="@ifnot LATEX<hr>@copydoc \1<hr>@endif"
ALIASES += RESTHEADER{2}="@if LATEX@latexonly \vskip 0.5em\colorbox{gray}{@endlatexonly\1 (\2)@latexonly}\vskip 1em@endlatexonly@else <hr><em>\1</em> (\2)<hr><br>@endif" ALIASES += RESTHEADER{2}="@if LATEX@latexonly \vskip 0.5em\colorbox{gray}{@endlatexonly\1 (\2)@latexonly}\vskip 1em@endlatexonly@else <hr><em>\1</em> (\2)<hr><br>@endif"
ALIASES += LATEXBREAK="@latexonly\vskip -0.5em\hskip 1.0em@endlatexonly" ALIASES += LATEXBREAK="@latexonly\vskip -0.5em\hskip 1.0em@endlatexonly"

View File

@ -31,7 +31,7 @@ PROJECT_NAME = "ArangoDB"
# This could be handy for archiving the generated documentation or # This could be handy for archiving the generated documentation or
# if some version control system is used. # if some version control system is used.
PROJECT_NUMBER = 1.0.beta1 PROJECT_NUMBER = 1.0.beta2
# Using the PROJECT_BRIEF tag one can provide an optional one line description for a project that appears at the top of each page and should give viewer a quick idea about the purpose of the project. Keep the description short. # Using the PROJECT_BRIEF tag one can provide an optional one line description for a project that appears at the top of each page and should give viewer a quick idea about the purpose of the project. Keep the description short.
@ -212,7 +212,7 @@ ALIASES += GE{1}="<b>\1</b>"
ALIASES += EXAMPLES="<b>Examples</b><br>" ALIASES += EXAMPLES="<b>Examples</b><br>"
ALIASES += EXAMPLE{2}="@latexonly\renewcommand{\examplecap}{\2}\setboolean{hascap}{true}@endlatexonly@verbinclude \1@latexonly\setboolean{hascap}{false}@endlatexonly" ALIASES += EXAMPLE{2}="@latexonly\renewcommand{\examplecap}{\2}\setboolean{hascap}{true}@endlatexonly@verbinclude \1@latexonly\setboolean{hascap}{false}@endlatexonly"
ALIASES += TINYEXAMPLE{2}="@latexonly\renewcommand{\examplecap}{\2}\setboolean{hascap}{true}\renewcommand{\examplesize}{\tiny}@endlatexonly@verbinclude \1@latexonly\setboolean{hascap}{false}\renewcommand{\examplesize}{\ttfamily}@endlatexonly" ALIASES += TINYEXAMPLE{2}="@latexonly\renewcommand{\examplecap}{\2}\setboolean{hascap}{true}\renewcommand{\examplesize}{\tiny}@endlatexonly@verbinclude \1@latexonly\setboolean{hascap}{false}\renewcommand{\examplesize}{\ttfamily}@endlatexonly"
ALIASES += VERSION="1.0.beta1" ALIASES += VERSION="1.0.beta2"
ALIASES += EMBEDTOC{1}="@ifnot LATEX<hr>@copydoc \1<hr>@endif" ALIASES += EMBEDTOC{1}="@ifnot LATEX<hr>@copydoc \1<hr>@endif"
ALIASES += RESTHEADER{2}="@if LATEX@latexonly \vskip 0.5em\colorbox{gray}{@endlatexonly\1 (\2)@latexonly}\vskip 1em@endlatexonly@else <hr><em>\1</em> (\2)<hr><br>@endif" ALIASES += RESTHEADER{2}="@if LATEX@latexonly \vskip 0.5em\colorbox{gray}{@endlatexonly\1 (\2)@latexonly}\vskip 1em@endlatexonly@else <hr><em>\1</em> (\2)<hr><br>@endif"
ALIASES += LATEXBREAK="@latexonly\vskip -0.5em\hskip 1.0em@endlatexonly" ALIASES += LATEXBREAK="@latexonly\vskip -0.5em\hskip 1.0em@endlatexonly"

View File

@ -31,7 +31,7 @@ PROJECT_NAME = "ArangoDB"
# This could be handy for archiving the generated documentation or # This could be handy for archiving the generated documentation or
# if some version control system is used. # if some version control system is used.
PROJECT_NUMBER = 1.0.beta1 PROJECT_NUMBER = 1.0.beta2
# Using the PROJECT_BRIEF tag one can provide an optional one line description for a project that appears at the top of each page and should give viewer a quick idea about the purpose of the project. Keep the description short. # Using the PROJECT_BRIEF tag one can provide an optional one line description for a project that appears at the top of each page and should give viewer a quick idea about the purpose of the project. Keep the description short.
@ -212,7 +212,7 @@ ALIASES += GE{1}="<b>\1</b>"
ALIASES += EXAMPLES="<b>Examples</b><br>" ALIASES += EXAMPLES="<b>Examples</b><br>"
ALIASES += EXAMPLE{2}="@latexonly\renewcommand{\examplecap}{\2}\setboolean{hascap}{true}@endlatexonly@verbinclude \1@latexonly\setboolean{hascap}{false}@endlatexonly" ALIASES += EXAMPLE{2}="@latexonly\renewcommand{\examplecap}{\2}\setboolean{hascap}{true}@endlatexonly@verbinclude \1@latexonly\setboolean{hascap}{false}@endlatexonly"
ALIASES += TINYEXAMPLE{2}="@latexonly\renewcommand{\examplecap}{\2}\setboolean{hascap}{true}\renewcommand{\examplesize}{\tiny}@endlatexonly@verbinclude \1@latexonly\setboolean{hascap}{false}\renewcommand{\examplesize}{\ttfamily}@endlatexonly" ALIASES += TINYEXAMPLE{2}="@latexonly\renewcommand{\examplecap}{\2}\setboolean{hascap}{true}\renewcommand{\examplesize}{\tiny}@endlatexonly@verbinclude \1@latexonly\setboolean{hascap}{false}\renewcommand{\examplesize}{\ttfamily}@endlatexonly"
ALIASES += VERSION="1.0.beta1" ALIASES += VERSION="1.0.beta2"
ALIASES += EMBEDTOC{1}="@ifnot LATEX<hr>@copydoc \1<hr>@endif" ALIASES += EMBEDTOC{1}="@ifnot LATEX<hr>@copydoc \1<hr>@endif"
ALIASES += RESTHEADER{2}="@if LATEX@latexonly \vskip 0.5em\colorbox{gray}{@endlatexonly\1 (\2)@latexonly}\vskip 1em@endlatexonly@else <hr><em>\1</em> (\2)<hr><br>@endif" ALIASES += RESTHEADER{2}="@if LATEX@latexonly \vskip 0.5em\colorbox{gray}{@endlatexonly\1 (\2)@latexonly}\vskip 1em@endlatexonly@else <hr><em>\1</em> (\2)<hr><br>@endif"
ALIASES += LATEXBREAK="@latexonly\vskip -0.5em\hskip 1.0em@endlatexonly" ALIASES += LATEXBREAK="@latexonly\vskip -0.5em\hskip 1.0em@endlatexonly"

View File

@ -39,8 +39,9 @@ d 0755 ${susr} ${sgrp} ${data_dir}/arangodb -
# static files # static files
d 0755 ${susr} ${sgrp} ${static_dir} - d 0755 ${susr} ${sgrp} ${static_dir} -
d 0755 ${susr} ${sgrp} ${static_dir}/js - d 0755 ${susr} ${sgrp} ${static_dir}/arangodb -
d 0755 ${susr} ${sgrp} ${static_dir}/html - d 0755 ${susr} ${sgrp} ${static_dir}/arangodb/js -
d 0755 ${susr} ${sgrp} ${static_dir}/arangodb/html -
# PID file directory # PID file directory
d 0755 ${susr} ${sgrp} /var/run/arangodb - d 0755 ${susr} ${sgrp} /var/run/arangodb -
@ -80,7 +81,7 @@ EOF
%else %else
%preinstall <<EOF %preinstall <<EOF
getent group arango >/dev/null || groupadd -r arango getent group arango >/dev/null || groupadd -r arango
getent passwd arango >/dev/null || useradd -r -g arango -d ${static_dir} -s /bin/false -c "ArangoDB Application User" arango getent passwd arango >/dev/null || useradd -r -g arango -d ${static_dir}/arangodb -s /bin/false -c "ArangoDB Application User" arango
EOF EOF
%endif %endif
@ -93,13 +94,37 @@ f 0755 ${rusr} ${rgrp} ${initdir}/arangod ${project_dir}/Installation/${START_SC
%postinstall <<EOF %postinstall <<EOF
chkconfig --level ${runlevels} arangod on chkconfig --level ${runlevels} arangod on
exit 0
EOF EOF
%preremove <<EOF %preremove <<EOF
${initdir}/arangod stop 2&>1 > /dev/null || true
chkconfig --del arangod chkconfig --del arangod
rcarangod stop || true exit 0
EOF EOF
## -----------------------------------------------------------------------------
## INSSERV
## -----------------------------------------------------------------------------
%elseifdef insserv
f 0755 ${rusr} ${rgrp} ${initdir}/arangod ${project_dir}/Installation/${START_SCRIPT}
%postinstall <<EOF
test -x /sbin/insserv && /sbin/insserv /etc/init.d/arangod 2&>1 > /dev/null
exit 0
EOF
%preremove <<EOF
${initdir}/arangod stop 2&>1 > /dev/null || true
test -x /sbin/insserv && /sbin/insserv -r /etc/init.d/arangod 2&>1 > /dev/null
exit 0
EOF
## -----------------------------------------------------------------------------
## EPM
## -----------------------------------------------------------------------------
%else %else
%system linux %system linux

View File

@ -3,11 +3,11 @@
# #
# Author: Achim Brandt <a.brandt@triagens.de> # Author: Achim Brandt <a.brandt@triagens.de>
# #
# /etc/init.d/arango # /etc/init.d/arangod
# #
# and symbolic its link # and symbolic its link
# #
# /usr/sbin/rcarango # /usr/sbin/rcarangod
# #
### BEGIN INIT INFO ### BEGIN INIT INFO
# Provides: arangod # Provides: arangod
@ -25,6 +25,7 @@ ARANGO_SYSCONFIG=/etc/arangodb/arangod.conf
test -r $ARANGO_SYSCONFIG || exit 6 test -r $ARANGO_SYSCONFIG || exit 6
ARANGO_TIMEOUT=120
ARANGO_PIDFILE=/var/run/arangodb/arangod.pid ARANGO_PIDFILE=/var/run/arangodb/arangod.pid
. /etc/rc.status . /etc/rc.status
@ -65,7 +66,7 @@ case "$1" in
stop) stop)
echo -n "Shutting down ARANGO daemon" echo -n "Shutting down ARANGO daemon"
killproc -p $ARANGO_PIDFILE -TERM $ARANGO_BIN killproc -t $ARANGO_TIMEOUT -p $ARANGO_PIDFILE -TERM $ARANGO_BIN
# Remember status and be verbose # Remember status and be verbose
rc_status -v rc_status -v

View File

@ -1158,10 +1158,6 @@ AM_LDFLAGS = @BOOST_LDFLAGS@ @LIBEV_LDFLAGS@ @MATH_LDFLAGS@ \
noinst_LIBRARIES = lib/libarango.a lib/libarango_v8.a \ noinst_LIBRARIES = lib/libarango.a lib/libarango_v8.a \
lib/libarango_fe.a lib/libarango_client.a $(am__append_8) lib/libarango_fe.a lib/libarango_client.a $(am__append_8)
# exclude arango-password and arango-dfdb from sources list, otherwise make TAGS will fail
bin_arango_password_SOURCES =
bin_arango_dfdb_SOURCES =
################################################################################ ################################################################################
### @brief /etc data ### @brief /etc data
################################################################################ ################################################################################
@ -1589,11 +1585,8 @@ PIDFILE := /tmp/arango.$(PID).pid
VOCDIR := /tmp/vocdir.$(PID) VOCDIR := /tmp/vocdir.$(PID)
VOCPORT := $(shell printf "3%04d" `expr $(PID) % 10000`) VOCPORT := $(shell printf "3%04d" `expr $(PID) % 10000`)
VOCHOST := 127.0.0.1 VOCHOST := 127.0.0.1
SERVER_OPT := --configuration none --javascript.startup-directory ./js \ SERVER_START :=
--javascript.modules-path \ SERVER_OPT := --configuration none --javascript.startup-directory ./js --javascript.modules-path ./js/server/modules:./js/common/modules --javascript.action-directory ./js/actions/system --database.maximal-journal-size 1000000 --javascript.gc-interval 1 $(SERVER_START)
./js/server/modules:./js/common/modules \
--javascript.action-directory ./js/actions/system $(shell echo \
$$SERVER_OPT)
CLIENT_OPT := --javascript.startup-directory ./js --javascript.modules-path ./js/client/modules:./js/common/modules --no-colors --quiet CLIENT_OPT := --javascript.startup-directory ./js --javascript.modules-path ./js/client/modules:./js/common/modules --no-colors --quiet
STARTFILE := $(VOCDIR)/startup STARTFILE := $(VOCDIR)/startup
CURL := curl CURL := curl
@ -1658,6 +1651,7 @@ SHELL_SERVER_AHUACATL = @srcdir@/js/server/tests/ahuacatl-ranges.js \
@srcdir@/js/server/tests/ahuacatl-skiplist.js \ @srcdir@/js/server/tests/ahuacatl-skiplist.js \
@srcdir@/js/server/tests/ahuacatl-refaccess-variable.js \ @srcdir@/js/server/tests/ahuacatl-refaccess-variable.js \
@srcdir@/js/server/tests/ahuacatl-refaccess-attribute.js \ @srcdir@/js/server/tests/ahuacatl-refaccess-attribute.js \
@srcdir@/js/server/tests/ahuacatl-skiplist.js \
@srcdir@/js/server/tests/ahuacatl-queries-simple.js \ @srcdir@/js/server/tests/ahuacatl-queries-simple.js \
@srcdir@/js/server/tests/ahuacatl-queries-variables.js \ @srcdir@/js/server/tests/ahuacatl-queries-variables.js \
@srcdir@/js/server/tests/ahuacatl-queries-geo.js \ @srcdir@/js/server/tests/ahuacatl-queries-geo.js \
@ -1695,6 +1689,20 @@ UNITTESTS_CLIENT = $(addprefix --javascript.unit-tests ,$(SHELL_CLIENT))
################################################################################ ################################################################################
BITARRAY_COMMON = @srcdir@/js/common/tests/shell-bitarray-index.js BITARRAY_COMMON = @srcdir@/js/common/tests/shell-bitarray-index.js
UNITTESTS_SERVER_BITARRAY = $(addprefix --javascript.unit-tests ,$(BITARRAY_COMMON)) UNITTESTS_SERVER_BITARRAY = $(addprefix --javascript.unit-tests ,$(BITARRAY_COMMON))
################################################################################
### @brief arango password
################################################################################
# exclude arango skrips from sources list
bin_arango_password_SOURCES =
################################################################################
### @brief arango datafile debugger
################################################################################
# exclude arango skrips from sources list
bin_arango_dfdb_SOURCES =
PROTOBUFDIR = @abs_top_srcdir@/3rdParty/protobuf-2.4.1/BUILD PROTOBUFDIR = @abs_top_srcdir@/3rdParty/protobuf-2.4.1/BUILD
@ENABLE_32BIT_TRUE@@ENABLE_ALL_IN_ONE_TRUE@LIBEV_BUILD_VERSION = ARCH.ia32 @ENABLE_32BIT_TRUE@@ENABLE_ALL_IN_ONE_TRUE@LIBEV_BUILD_VERSION = ARCH.ia32
@ENABLE_64BIT_TRUE@@ENABLE_ALL_IN_ONE_TRUE@LIBEV_BUILD_VERSION = ARCH.x64 @ENABLE_64BIT_TRUE@@ENABLE_ALL_IN_ONE_TRUE@LIBEV_BUILD_VERSION = ARCH.x64
@ -5263,6 +5271,8 @@ start-server:
@(test "$(PROTO)" == "unix" && echo "<< STARTING SERVER ON UNIX SOCKET ENDPOINT >>") || true @(test "$(PROTO)" == "unix" && echo "<< STARTING SERVER ON UNIX SOCKET ENDPOINT >>") || true
@echo "================================================================================" @echo "================================================================================"
@echo @echo
@echo "Server Options: $(SERVER_OPT)"
@echo
rm -f "$(PIDFILE)" rm -f "$(PIDFILE)"
rm -rf "$(VOCDIR)" rm -rf "$(VOCDIR)"
@ -5292,7 +5302,7 @@ unittests-make:
.PHONY: unittests-boost .PHONY: unittests-boost
@ENABLE_BOOST_TEST_TRUE@unittests-boost: @ENABLE_BOOST_TEST_TRUE@unittests-boost: UnitTests/basics_suite UnitTests/geo_suite
@ENABLE_BOOST_TEST_TRUE@ @echo @ENABLE_BOOST_TEST_TRUE@ @echo
@ENABLE_BOOST_TEST_TRUE@ @echo "================================================================================" @ENABLE_BOOST_TEST_TRUE@ @echo "================================================================================"
@ENABLE_BOOST_TEST_TRUE@ @echo "<< BOOST TESTS >>" @ENABLE_BOOST_TEST_TRUE@ @echo "<< BOOST TESTS >>"
@ -5304,8 +5314,6 @@ unittests-make:
@ENABLE_BOOST_TEST_TRUE@ @echo @ENABLE_BOOST_TEST_TRUE@ @echo
@ENABLE_BOOST_TEST_TRUE@unittests-boost: UnitTests/basics_suite
@ENABLE_BOOST_TEST_FALSE@unittests-boost: @ENABLE_BOOST_TEST_FALSE@unittests-boost:
@ENABLE_BOOST_TEST_FALSE@ @echo @ENABLE_BOOST_TEST_FALSE@ @echo
@ENABLE_BOOST_TEST_FALSE@ @echo "================================================================================" @ENABLE_BOOST_TEST_FALSE@ @echo "================================================================================"
@ -5355,7 +5363,7 @@ unittests-shell-server-ahuacatl:
.PHONY: unittests-shell-client .PHONY: unittests-shell-client
unittests-shell-client: unittests-shell-client:
$(MAKE) start-server PID=$(PID) SERVER_OPT="--server.endpoint unix://$(VOCDIR)/arango.sock --server.disable-authentication true" PROTO=unix $(MAKE) start-server PID=$(PID) SERVER_START="--server.endpoint unix://$(VOCDIR)/arango.sock --server.disable-authentication true" PROTO=unix
@echo @echo
@echo "================================================================================" @echo "================================================================================"
@ -5379,7 +5387,7 @@ unittests-shell-client:
.PHONY: unittests-http-server .PHONY: unittests-http-server
unittests-http-server: unittests-http-server:
$(MAKE) start-server PID=$(PID) SERVER_OPT="--server.endpoint tcp://$(VOCHOST):$(VOCPORT) --server.disable-auth true" PROTO=http $(MAKE) start-server PID=$(PID) SERVER_START="--server.endpoint tcp://$(VOCHOST):$(VOCPORT) --server.disable-auth true" PROTO=http
@echo @echo
@echo "================================================================================" @echo "================================================================================"
@ -5403,7 +5411,7 @@ unittests-http-server:
.PHONY: unittests-ssl-server .PHONY: unittests-ssl-server
unittests-ssl-server: unittests-ssl-server:
$(MAKE) start-server PID=$(PID) SERVER_OPT="--server.endpoint ssl://$(VOCHOST):$(VOCPORT) --server.keyfile $(CERT_FILE) --server.disable-auth true" PROTO=https $(MAKE) start-server PID=$(PID) SERVER_START="--server.endpoint ssl://$(VOCHOST):$(VOCPORT) --server.keyfile $(CERT_FILE) --server.disable-auth true" PROTO=https
@echo @echo
@echo "================================================================================" @echo "================================================================================"
@ -5471,10 +5479,6 @@ clean-local:
built-sources: build.h errorfiles $(JAVASCRIPT_HEADER) built-sources: build.h errorfiles $(JAVASCRIPT_HEADER)
################################################################################
### @brief arango password
################################################################################
bin/arango-password: bin/arango-password.in bin/arango-password: bin/arango-password.in
@ENABLE_RELATIVE_DEVEL_TRUE@ sed \ @ENABLE_RELATIVE_DEVEL_TRUE@ sed \
@ENABLE_RELATIVE_DEVEL_TRUE@ -e 's%@SBINDIR@%bin%g' \ @ENABLE_RELATIVE_DEVEL_TRUE@ -e 's%@SBINDIR@%bin%g' \
@ -5489,10 +5493,6 @@ bin/arango-password: bin/arango-password.in
@ENABLE_RELATIVE_DEVEL_FALSE@ $< > $@ @ENABLE_RELATIVE_DEVEL_FALSE@ $< > $@
@ENABLE_RELATIVE_DEVEL_FALSE@ chmod 755 $@ @ENABLE_RELATIVE_DEVEL_FALSE@ chmod 755 $@
################################################################################
### @brief arango datafile debugger
################################################################################
bin/arango-dfdb: bin/arango-dfdb.in bin/arango-dfdb: bin/arango-dfdb.in
@ENABLE_RELATIVE_DEVEL_TRUE@ sed \ @ENABLE_RELATIVE_DEVEL_TRUE@ sed \
@ENABLE_RELATIVE_DEVEL_TRUE@ -e 's%@SBINDIR@%bin%g' \ @ENABLE_RELATIVE_DEVEL_TRUE@ -e 's%@SBINDIR@%bin%g' \
@ -5552,6 +5552,7 @@ Doxygen/js/server/modules/%.c: @srcdir@/js/server/modules/%.js Doxygen/.setup-di
@python @top_srcdir@/Doxygen/Scripts/js2doxy.py $< > $@ @python @top_srcdir@/Doxygen/Scripts/js2doxy.py $< > $@
Doxygen/xml/%.md: Doxygen/xml/%.xml Doxygen/xml/%.md: Doxygen/xml/%.xml
echo "CREATING XML FROM MD!!!"
@python @top_srcdir@/Doxygen/Scripts/xml2md.py $< > $@ @python @top_srcdir@/Doxygen/Scripts/xml2md.py $< > $@
################################################################################ ################################################################################
@ -5578,8 +5579,9 @@ Doxygen/arango-xml.doxy: Doxygen/arango.template
sed -e 's:GENERATE_XML *= *NO:GENERATE_XML = YES:' -e 's:ENABLED_SECTIONS *=:ENABLED_SECTIONS = XML:' < $< > $@ sed -e 's:GENERATE_XML *= *NO:GENERATE_XML = YES:' -e 's:ENABLED_SECTIONS *=:ENABLED_SECTIONS = XML:' < $< > $@
$(MAKE) lib/BasicsC/voc-errors.h $(MAKE) lib/BasicsC/voc-errors.h
wiki: wiki2 $(addsuffix .md,$(addprefix Doxygen/xml/,$(WIKI))) wiki: wiki2
@test -d Doxygen/wiki || mkdir Doxygen/wiki @test -d Doxygen/wiki || mkdir Doxygen/wiki
@for w in $(WIKI); do python @top_srcdir@/Doxygen/Scripts/xml2md.py Doxygen/xml/$$w.xml > Doxygen/xml/$$w.md; done
@for w in $(WIKI); do @top_srcdir@/Doxygen/Scripts/fixmd.sh Doxygen/xml/$$w.md; done @for w in $(WIKI); do @top_srcdir@/Doxygen/Scripts/fixmd.sh Doxygen/xml/$$w.md; done
wiki2: Doxygen/arango-xml.doxy $(DOXYGEN) wiki2: Doxygen/arango-xml.doxy $(DOXYGEN)

View File

@ -12,7 +12,7 @@ OUTPUT_FOLDER="Doxygen/manuals/$(PACKAGE_VERSION)"
.PHONY: publish publish-wiki publish-html publish-pdf .PHONY: publish publish-wiki publish-html publish-pdf
publish: publish-wiki publish-html publish-pdf publish: publish-wiki publish-html publish-pdf
echo 'cd Doxygen/manuals && scp -r "$(PACKAGE_VERSION)" $(MANUAL_DST)' cd Doxygen/manuals && scp -r "$(PACKAGE_VERSION)" $(MANUAL_DST)
publish-wiki: publish-wiki:
(cd Doxygen/wiki && git checkout --force -- . && git clean -f -d -x && git pull) (cd Doxygen/wiki && git checkout --force -- . && git clean -f -d -x && git pull)
@ -22,7 +22,7 @@ publish-wiki:
publish-html: $(OUTPUT_FOLDER) publish-html: $(OUTPUT_FOLDER)
$(MAKE) doxygen $(MAKE) doxygen
@for w in $(WIKI); do cp Doxygen/html/$$w.html $(OUTPUT_FOLDER); done @for w in $(WIKI); do cp Doxygen/html/$$w.html $(OUTPUT_FOLDER); done
@for i in `ls Doxygen/web/images/*.png`; do scp $$i $(OUTPUT_FOLDER); done @for i in `ls Doxygen/web/images/*.png`; do scp $$i $(OUTPUT_FOLDER)/images; done
publish-pdf: $(OUTPUT_FOLDER) publish-pdf: $(OUTPUT_FOLDER)
$(MAKE) latex $(MAKE) latex
@ -35,4 +35,4 @@ publish-pdf: $(OUTPUT_FOLDER)
scp arangod/Documentation/arangodb_1.0_shell_reference_card.pdf $(OUTPUT_FOLDER) scp arangod/Documentation/arangodb_1.0_shell_reference_card.pdf $(OUTPUT_FOLDER)
$(OUTPUT_FOLDER): $(OUTPUT_FOLDER):
mkdir -p $(OUTPUT_FOLDER) mkdir -p $(OUTPUT_FOLDER)/images

View File

@ -57,7 +57,7 @@ VOCDIR := /tmp/vocdir.$(PID)
VOCPORT := $(shell printf "3%04d" `expr $(PID) % 10000`) VOCPORT := $(shell printf "3%04d" `expr $(PID) % 10000`)
VOCHOST := 127.0.0.1 VOCHOST := 127.0.0.1
SERVER_START := SERVER_START :=
SERVER_OPT := --configuration none --javascript.startup-directory ./js --javascript.modules-path ./js/server/modules:./js/common/modules --javascript.action-directory ./js/actions/system $(SERVER_START) SERVER_OPT := --configuration none --javascript.startup-directory ./js --javascript.modules-path ./js/server/modules:./js/common/modules --javascript.action-directory ./js/actions/system --database.maximal-journal-size 1000000 --javascript.gc-interval 1 $(SERVER_START)
CLIENT_OPT := --javascript.startup-directory ./js --javascript.modules-path ./js/client/modules:./js/common/modules --no-colors --quiet CLIENT_OPT := --javascript.startup-directory ./js --javascript.modules-path ./js/client/modules:./js/common/modules --no-colors --quiet
STARTFILE := $(VOCDIR)/startup STARTFILE := $(VOCDIR)/startup
CURL := curl CURL := curl
@ -110,7 +110,7 @@ unittests-make:
if ENABLE_BOOST_TEST if ENABLE_BOOST_TEST
unittests-boost: unittests-boost: UnitTests/basics_suite UnitTests/geo_suite
@echo @echo
@echo "================================================================================" @echo "================================================================================"
@echo "<< BOOST TESTS >>" @echo "<< BOOST TESTS >>"
@ -122,8 +122,6 @@ unittests-boost:
@echo @echo
unittests-boost: UnitTests/basics_suite
noinst_PROGRAMS += UnitTests/basics_suite UnitTests/geo_suite noinst_PROGRAMS += UnitTests/basics_suite UnitTests/geo_suite
UnitTests_basics_suite_LDADD = -L@top_builddir@/lib -larango -lboost_unit_test_framework UnitTests_basics_suite_LDADD = -L@top_builddir@/lib -larango -lboost_unit_test_framework
@ -223,6 +221,7 @@ SHELL_SERVER_AHUACATL = @srcdir@/js/server/tests/ahuacatl-ranges.js \
@srcdir@/js/server/tests/ahuacatl-skiplist.js \ @srcdir@/js/server/tests/ahuacatl-skiplist.js \
@srcdir@/js/server/tests/ahuacatl-refaccess-variable.js \ @srcdir@/js/server/tests/ahuacatl-refaccess-variable.js \
@srcdir@/js/server/tests/ahuacatl-refaccess-attribute.js \ @srcdir@/js/server/tests/ahuacatl-refaccess-attribute.js \
@srcdir@/js/server/tests/ahuacatl-skiplist.js \
@srcdir@/js/server/tests/ahuacatl-queries-simple.js \ @srcdir@/js/server/tests/ahuacatl-queries-simple.js \
@srcdir@/js/server/tests/ahuacatl-queries-variables.js \ @srcdir@/js/server/tests/ahuacatl-queries-variables.js \
@srcdir@/js/server/tests/ahuacatl-queries-geo.js \ @srcdir@/js/server/tests/ahuacatl-queries-geo.js \

View File

@ -1,4 +1,5 @@
# ArangoDB # ArangoDB
[![Build Status](https://secure.travis-ci.org/timoschilling/ArangoDB.png?branch=master)](http://travis-ci.org/timoschilling/ArangoDB)
We recently started a new open source project - a nosql database We recently started a new open source project - a nosql database
called AvocadoDB which became ArangoDB in May 2012. ArangoDB is called AvocadoDB which became ArangoDB in May 2012. ArangoDB is

View File

@ -1 +1 @@
1.0.beta1 1.0.beta2

View File

@ -499,7 +499,7 @@ void* BitarrayIndexPrevIterationCallback(TRI_index_iterator_t* iterator) {
} }
if (iterator->_currentInterval >= iterator->_intervals._length) { if (iterator->_currentInterval >= iterator->_intervals._length) {
return false; return NULL;
} }
if (iterator->_intervals._length == 0) { if (iterator->_intervals._length == 0) {

Binary file not shown.

View File

@ -810,6 +810,9 @@ int ArangoServer::executeConsole (OperationMode::server_operation_mode_e mode) {
} }
} }
while(! v8::V8::IdleNotification()) {
}
if (ok) { if (ok) {
// parameter array // parameter array

View File

@ -78,43 +78,46 @@ void TRI_DestroyBarrierList (TRI_barrier_list_t* container) {
/// @brief creates a new barrier element /// @brief creates a new barrier element
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
TRI_barrier_t* TRI_CreateBarrierElement (TRI_barrier_list_t* container) { TRI_barrier_t* TRI_CreateBarrierElementZ (TRI_barrier_list_t* container,
TRI_barrier_t* element; size_t line,
char const* filename) {
TRI_barrier_blocker_t* element;
element = TRI_Allocate(TRI_UNKNOWN_MEM_ZONE, sizeof(TRI_barrier_t), false); element = TRI_Allocate(TRI_UNKNOWN_MEM_ZONE, sizeof(TRI_barrier_blocker_t), false);
if (element == NULL) { if (element == NULL) {
return NULL; return NULL;
} }
element->_type = TRI_BARRIER_ELEMENT; element->base._type = TRI_BARRIER_ELEMENT;
element->_container = container; element->base._container = container;
element->_datafile = NULL;
element->datafileCallback = NULL; element->_line = line;
element->_filename = filename;
TRI_LockSpin(&container->_lock); TRI_LockSpin(&container->_lock);
// empty list // empty list
if (container->_end == NULL) { if (container->_end == NULL) {
element->_next = NULL; element->base._next = NULL;
element->_prev = NULL; element->base._prev = NULL;
container->_begin = element; container->_begin = &element->base;
container->_end = element; container->_end = &element->base;
} }
// add to the end // add to the end
else { else {
element->_next = NULL; element->base._next = NULL;
element->_prev = container->_end; element->base._prev = container->_end;
container->_end->_next = element; container->_end->_next = &element->base;
container->_end = element; container->_end = &element->base;
} }
TRI_UnlockSpin(&container->_lock); TRI_UnlockSpin(&container->_lock);
return element; return &element->base;
} }
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////

View File

@ -73,13 +73,21 @@ typedef struct TRI_barrier_s {
struct TRI_barrier_list_s* _container; struct TRI_barrier_list_s* _container;
TRI_barrier_type_e _type; TRI_barrier_type_e _type;
struct TRI_datafile_s* _datafile;
void* _datafileData;
void (*datafileCallback) (struct TRI_datafile_s*, void*);
} }
TRI_barrier_t; TRI_barrier_t;
////////////////////////////////////////////////////////////////////////////////
/// @brief barrier element blocker
////////////////////////////////////////////////////////////////////////////////
typedef struct TRI_barrier_blocker_s {
TRI_barrier_t base;
size_t _line;
char const* _filename;
}
TRI_barrier_blocker_t;
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/// @brief barrier element datafile callback /// @brief barrier element datafile callback
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
@ -149,7 +157,11 @@ void TRI_DestroyBarrierList (TRI_barrier_list_t* container);
/// @brief creates a new barrier element /// @brief creates a new barrier element
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
TRI_barrier_t* TRI_CreateBarrierElement (TRI_barrier_list_t* container); #define TRI_CreateBarrierElement(a) TRI_CreateBarrierElementZ((a), __LINE__, __FILE__)
TRI_barrier_t* TRI_CreateBarrierElementZ (TRI_barrier_list_t* container,
size_t line,
char const* filename);
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/// @brief creates a new datafile deletion barrier /// @brief creates a new datafile deletion barrier

View File

@ -47,7 +47,7 @@
/// @brief compactify interval in microseconds /// @brief compactify interval in microseconds
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
static int const COMPACTOR_INTERVAL = 5 * 1000 * 1000; static int const COMPACTOR_INTERVAL = 1 * 1000 * 1000;
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/// @} /// @}

20
configure vendored
View File

@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.68 for triAGENS ArangoDB 1.0.beta1. # Generated by GNU Autoconf 2.68 for triAGENS ArangoDB 1.0.beta2.
# #
# Report bugs to <info@triagens.de>. # Report bugs to <info@triagens.de>.
# #
@ -560,8 +560,8 @@ MAKEFLAGS=
# Identity of this package. # Identity of this package.
PACKAGE_NAME='triAGENS ArangoDB' PACKAGE_NAME='triAGENS ArangoDB'
PACKAGE_TARNAME='arangodb' PACKAGE_TARNAME='arangodb'
PACKAGE_VERSION='1.0.beta1' PACKAGE_VERSION='1.0.beta2'
PACKAGE_STRING='triAGENS ArangoDB 1.0.beta1' PACKAGE_STRING='triAGENS ArangoDB 1.0.beta2'
PACKAGE_BUGREPORT='info@triagens.de' PACKAGE_BUGREPORT='info@triagens.de'
PACKAGE_URL='http://www.arangodb.org' PACKAGE_URL='http://www.arangodb.org'
@ -1411,7 +1411,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing. # Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh. # This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF cat <<_ACEOF
\`configure' configures triAGENS ArangoDB 1.0.beta1 to adapt to many kinds of systems. \`configure' configures triAGENS ArangoDB 1.0.beta2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1482,7 +1482,7 @@ fi
if test -n "$ac_init_help"; then if test -n "$ac_init_help"; then
case $ac_init_help in case $ac_init_help in
short | recursive ) echo "Configuration of triAGENS ArangoDB 1.0.beta1:";; short | recursive ) echo "Configuration of triAGENS ArangoDB 1.0.beta2:";;
esac esac
cat <<\_ACEOF cat <<\_ACEOF
@ -1637,7 +1637,7 @@ fi
test -n "$ac_init_help" && exit $ac_status test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
triAGENS ArangoDB configure 1.0.beta1 triAGENS ArangoDB configure 1.0.beta2
generated by GNU Autoconf 2.68 generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc. Copyright (C) 2010 Free Software Foundation, Inc.
@ -2102,7 +2102,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by triAGENS ArangoDB $as_me 1.0.beta1, which was It was created by triAGENS ArangoDB $as_me 1.0.beta2, which was
generated by GNU Autoconf 2.68. Invocation command line was generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@ $ $0 $@
@ -3241,7 +3241,7 @@ fi
# Define the identity of the package. # Define the identity of the package.
PACKAGE='arangodb' PACKAGE='arangodb'
VERSION='1.0.beta1' VERSION='1.0.beta2'
cat >>confdefs.h <<_ACEOF cat >>confdefs.h <<_ACEOF
@ -10267,7 +10267,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their # report actual input values of CONFIG_FILES etc. instead of their
# values after options handling. # values after options handling.
ac_log=" ac_log="
This file was extended by triAGENS ArangoDB $as_me 1.0.beta1, which was This file was extended by triAGENS ArangoDB $as_me 1.0.beta2, which was
generated by GNU Autoconf 2.68. Invocation command line was generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
@ -10334,7 +10334,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\ ac_cs_version="\\
triAGENS ArangoDB config.status 1.0.beta1 triAGENS ArangoDB config.status 1.0.beta2
configured by $0, generated by GNU Autoconf 2.68, configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\" with options \\"\$ac_cs_config\\"

View File

@ -6,7 +6,7 @@ dnl ============================================================================
dnl --SECTION-- triAGENS GmbH Build Environment dnl --SECTION-- triAGENS GmbH Build Environment
dnl ============================================================================ dnl ============================================================================
AC_INIT([triAGENS ArangoDB], [1.0.beta1], [info@triagens.de], [arangodb], [http://www.arangodb.org]) AC_INIT([triAGENS ArangoDB], [1.0.beta2], [info@triagens.de], [arangodb], [http://www.arangodb.org])
dnl ---------------------------------------------------------------------------- dnl ----------------------------------------------------------------------------
dnl auxillary directory for install-sh and missing dnl auxillary directory for install-sh and missing

View File

@ -279,6 +279,7 @@ static string JS_common_bootstrap_modules =
" internal.sprintf = SYS_SPRINTF;\n" " internal.sprintf = SYS_SPRINTF;\n"
" internal.time = SYS_TIME;\n" " internal.time = SYS_TIME;\n"
" internal.sha256 = SYS_SHA256;\n" " internal.sha256 = SYS_SHA256;\n"
" internal.wait = SYS_WAIT;\n"
"\n" "\n"
"\n" "\n"
" // command line parameter\n" " // command line parameter\n"

View File

@ -278,6 +278,7 @@ ModuleCache["/internal"] = new Module("/internal");
internal.sprintf = SYS_SPRINTF; internal.sprintf = SYS_SPRINTF;
internal.time = SYS_TIME; internal.time = SYS_TIME;
internal.sha256 = SYS_SHA256; internal.sha256 = SYS_SHA256;
internal.wait = SYS_WAIT;
// command line parameter // command line parameter

View File

@ -397,6 +397,8 @@ function RunCommandLineTests () {
print(err.stack); print(err.stack);
result = false; result = false;
} }
internal.wait(0); // force GC
} }
SYS_UNIT_TESTS_RESULT = result; SYS_UNIT_TESTS_RESULT = result;

13
js/common/tests/shell-bitarray-index.js Executable file → Normal file
View File

@ -35,6 +35,7 @@
var jsunity = require("jsunity"); var jsunity = require("jsunity");
var internal = require("internal"); var internal = require("internal");
var console = require("console");
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// --SECTION-- basic methods // --SECTION-- basic methods
@ -73,7 +74,19 @@ function BitarrayIndexSuite() {
// ........................................................................... // ...........................................................................
tearDown : function () { tearDown : function () {
collection.unload();
while (collection.status() != internal.ArangoCollection.STATUS_UNLOADED) {
console.log("waiting for collection '%s' to unload", cn);
internal.wait(1);
}
collection.drop(); collection.drop();
while (collection.status() != internal.ArangoCollection.STATUS_DELETED) {
console.log("waiting for collection '%s' to drop", cn);
internal.wait(1);
}
}, },

View File

@ -35,6 +35,7 @@
var jsunity = require("jsunity"); var jsunity = require("jsunity");
var internal = require("internal"); var internal = require("internal");
var console = require("console");
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// --SECTION-- basic methods // --SECTION-- basic methods
@ -65,7 +66,19 @@ function CapConstraintSuite() {
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
tearDown : function () { tearDown : function () {
collection.unload();
while (collection.status() != internal.ArangoCollection.STATUS_UNLOADED) {
console.log("waiting for collection '%s' to unload.", cn);
internal.wait(1);
}
collection.drop(); collection.drop();
while (collection.status() != internal.ArangoCollection.STATUS_DELETED) {
console.log("waiting for collection '%s' to drop", cn);
internal.wait(1);
}
}, },
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////

View File

@ -27,6 +27,7 @@
var jsunity = require("jsunity"); var jsunity = require("jsunity");
var internal = require("internal"); var internal = require("internal");
var console = require("console");
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// --SECTION-- collection methods // --SECTION-- collection methods
@ -58,7 +59,19 @@ function CollectionDocumentSuiteErrorHandling () {
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
tearDown : function () { tearDown : function () {
collection.unload();
while (collection.status() != internal.ArangoCollection.STATUS_UNLOADED) {
console.log("waiting for collection '%s' to unload", cn);
internal.wait(1);
}
collection.drop(); collection.drop();
while (collection.status() != internal.ArangoCollection.STATUS_DELETED) {
console.log("waiting for collection '%s' to drop", cn);
internal.wait(1);
}
}, },
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////

View File

@ -27,6 +27,7 @@
var jsunity = require("jsunity"); var jsunity = require("jsunity");
var internal = require("internal"); var internal = require("internal");
var console = require("console");
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// --SECTION-- collection methods // --SECTION-- collection methods
@ -70,8 +71,33 @@ function CollectionEdgeSuiteErrorHandling () {
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
tearDown : function () { tearDown : function () {
edge.unload();
while (edge.status() != internal.ArangoCollection.STATUS_UNLOADED) {
console.log("waiting for collection '%s' to unload", en);
internal.wait(1);
}
edge.drop(); edge.drop();
while (edge.status() != internal.ArangoCollection.STATUS_DELETED) {
console.log("waiting for collection '%s' to drop", en);
internal.wait(1);
}
vertex.unload();
while (vertex.status() != internal.ArangoCollection.STATUS_UNLOADED) {
console.log("waiting for collection '%s' to unload", vn);
internal.wait(1);
}
vertex.drop(); vertex.drop();
while (vertex.status() != internal.ArangoCollection.STATUS_DELETED) {
console.log("waiting for collection '%s' to drop", vn);
internal.wait(1);
}
}, },
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////

View File

@ -35,6 +35,7 @@
var jsunity = require("jsunity"); var jsunity = require("jsunity");
var internal = require("internal"); var internal = require("internal");
var console = require("console");
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// --SECTION-- basic methods // --SECTION-- basic methods
@ -65,7 +66,19 @@ function HashIndexSuite() {
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
tearDown : function () { tearDown : function () {
collection.unload();
while (collection.status() != internal.ArangoCollection.STATUS_UNLOADED) {
console.log("waiting for collection '%s' to unload", cn);
internal.wait(1);
}
collection.drop(); collection.drop();
while (collection.status() != internal.ArangoCollection.STATUS_DELETED) {
console.log("waiting for collection '%s' to drop", cn);
internal.wait(1);
}
}, },
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////

View File

@ -65,7 +65,19 @@ function GeoIndexCreationSuite() {
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
tearDown : function () { tearDown : function () {
collection.unload();
while (collection.status() != internal.ArangoCollection.STATUS_UNLOADED) {
console.log("waiting for collection '%s' to unload", cn);
internal.wait(1);
}
collection.drop(); collection.drop();
while (collection.status() != internal.ArangoCollection.STATUS_DELETED) {
console.log("waiting for collection '%s' to drop", cn);
internal.wait(1);
}
}, },
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////

View File

@ -35,6 +35,7 @@
var jsunity = require("jsunity"); var jsunity = require("jsunity");
var internal = require("internal"); var internal = require("internal");
var console = require("console");
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// --SECTION-- basic methods // --SECTION-- basic methods
@ -64,7 +65,19 @@ function indexSuite() {
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
tearDown : function () { tearDown : function () {
collection.unload();
while (collection.status() != internal.ArangoCollection.STATUS_UNLOADED) {
console.log("waiting for collection '%s' to unload", cn);
internal.wait(1);
}
collection.drop(); collection.drop();
while (collection.status() != internal.ArangoCollection.STATUS_DELETED) {
console.log("waiting for collection '%s' to drop", cn);
internal.wait(1);
}
}, },
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////

View File

@ -35,6 +35,7 @@
var jsunity = require("jsunity"); var jsunity = require("jsunity");
var internal = require("internal"); var internal = require("internal");
var console = require("console");
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// --SECTION-- basic methods // --SECTION-- basic methods
@ -65,7 +66,19 @@ function UniqueConstraintSuite() {
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
tearDown : function () { tearDown : function () {
collection.unload();
while (collection.status() != internal.ArangoCollection.STATUS_UNLOADED) {
console.log("waiting for collection '%s' to unload", cn);
internal.wait(1);
}
collection.drop(); collection.drop();
while (collection.status() != internal.ArangoCollection.STATUS_DELETED) {
console.log("waiting for collection '%s' to drop", cn);
internal.wait(1);
}
}, },
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////

View File

@ -725,7 +725,7 @@ void* TRI_InsertElementMultiPointer (TRI_multi_pointer_t* array, void* element,
// check for out-of-memory // check for out-of-memory
if (array->_nrAlloc == array->_nrUsed) { if (array->_nrAlloc == array->_nrUsed) {
return false; return NULL;
} }
// compute the hash // compute the hash

View File

@ -27,6 +27,8 @@
#include "BasicsC/common.h" #include "BasicsC/common.h"
#include "BasicsC/logging.h"
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// --SECTION-- private variables // --SECTION-- private variables
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
@ -64,6 +66,12 @@ static TRI_memory_zone_t TriCoreMemZone;
static TRI_memory_zone_t TriUnknownMemZone; static TRI_memory_zone_t TriUnknownMemZone;
////////////////////////////////////////////////////////////////////////////////
/// @brief memory reserve for core memory zone
////////////////////////////////////////////////////////////////////////////////
static void* CoreReserve;
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/// @} /// @}
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
@ -176,9 +184,24 @@ void* TRI_Allocate (TRI_memory_zone_t* zone, uint64_t n, bool set) {
return NULL; return NULL;
} }
printf("PANIC: failed to allocate memory in zone '%d', giving up!", zone->_zid); if (CoreReserve == NULL) {
printf("FATAL: failed to allocate memory in zone '%d', giving up!", zone->_zid);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
free(CoreReserve);
CoreReserve = NULL;
LOG_FATAL("failed to allocate memory in zone '%d' of size '%ld', retrying!",
(int) zone->_zid,
(unsigned long) n);
#ifdef TRI_ENABLE_ZONE_DEBUG
return TRI_AllocateZ(zone, n, set, file, line);
#else
return TRI_Allocate(zone, n, set);
#endif
}
#ifdef TRI_ENABLE_ZONE_DEBUG #ifdef TRI_ENABLE_ZONE_DEBUG
else if (set) { else if (set) {
memset(m, 0, (size_t) n + sizeof(intptr_t)); memset(m, 0, (size_t) n + sizeof(intptr_t));
@ -256,10 +279,25 @@ void* TRI_Reallocate (TRI_memory_zone_t* zone, void* m, uint64_t n) {
return NULL; return NULL;
} }
printf("PANIC: failed to allocate memory in zone '%d', giving up!", zone->_zid); if (CoreReserve == NULL) {
printf("FATAL: failed to allocate memory in zone '%d', giving up!", zone->_zid);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
free(CoreReserve);
CoreReserve = NULL;
LOG_FATAL("failed to allocate memory in zone '%d' of size '%ld', retrying!",
(int) zone->_zid,
(unsigned long) n);
#ifdef TRI_ENABLE_ZONE_DEBUG
return TRI_ReallocateZ(zone, m, n, file, line);
#else
return TRI_Reallocate(zone, m, n);
#endif
}
return p; return p;
} }
@ -297,6 +335,7 @@ void TRI_Free (TRI_memory_zone_t* zone, void* m) {
void TRI_InitialiseMemory () { void TRI_InitialiseMemory () {
static bool initialised = false; static bool initialised = false;
static size_t const reserveSize = 1024 * 1024 * 10;
if (! initialised) { if (! initialised) {
TriCoreMemZone._zid = 0; TriCoreMemZone._zid = 0;
@ -305,7 +344,14 @@ void TRI_InitialiseMemory () {
TriUnknownMemZone._zid = 1; TriUnknownMemZone._zid = 1;
TriUnknownMemZone._failed = false; TriUnknownMemZone._failed = false;
TriUnknownMemZone._failable = true; TriUnknownMemZone._failable = false;
CoreReserve = malloc(reserveSize);
if (CoreReserve == NULL) {
fprintf(stderr, "FATAL: cannot allocate initial core reserve of size %ld, giving up!\n",
(unsigned long) reserveSize);
}
} }
} }

View File

@ -362,7 +362,7 @@ int AnyServer::startupSupervisor () {
} }
// parent // parent
if (pid > 0) { if (0 < pid) {
char const* title = "arangodb [supervisor]"; char const* title = "arangodb [supervisor]";
TRI_SetProcessTitle(title); TRI_SetProcessTitle(title);
@ -371,10 +371,9 @@ int AnyServer::startupSupervisor () {
prctl(PR_SET_NAME, title, 0, 0, 0); prctl(PR_SET_NAME, title, 0, 0, 0);
#endif #endif
WritePidFile(_pidFile, pid);
int status; int status;
waitpid(pid, &status, 0); waitpid(pid, &status, 0);
bool horrible = true;
if (WIFEXITED(status)) { if (WIFEXITED(status)) {
@ -382,6 +381,7 @@ int AnyServer::startupSupervisor () {
if (WEXITSTATUS(status) == 0) { if (WEXITSTATUS(status) == 0) {
LOGGER_INFO << "child " << pid << " died of natural causes"; LOGGER_INFO << "child " << pid << " died of natural causes";
done = true; done = true;
horrible = false;
} }
else { else {
t = time(0) - startTime; t = time(0) - startTime;
@ -405,6 +405,7 @@ int AnyServer::startupSupervisor () {
case 15: case 15:
LOGGER_INFO << "child " << pid << " died of natural causes " << WTERMSIG(status); LOGGER_INFO << "child " << pid << " died of natural causes " << WTERMSIG(status);
done = true; done = true;
horrible = false;
break; break;
default: default:
@ -427,11 +428,27 @@ int AnyServer::startupSupervisor () {
LOGGER_ERROR << "child " << pid << " died a horrible death, unknown cause"; LOGGER_ERROR << "child " << pid << " died a horrible death, unknown cause";
done = false; done = false;
} }
// remove pid file
if (horrible) {
if (FileUtils::changeDirectory(current)) {
if (! FileUtils::remove(_pidFile)) {
LOGGER_ERROR << "cannot unlink pid file '" << _pidFile << "'";
}
}
else {
LOGGER_ERROR << "cannot unlink pid file '" << _pidFile << "', because directory '"
<< current << "' is missing";
}
}
} }
// child // child
else { else {
// write the pid file
WritePidFile(_pidFile, TRI_CurrentProcessId());
// reset logging // reset logging
TRI_InitialiseLogging(TRI_ResetLogging()); TRI_InitialiseLogging(TRI_ResetLogging());
safe_cast<ApplicationServer*>(_applicationServer)->setupLogging(); safe_cast<ApplicationServer*>(_applicationServer)->setupLogging();
@ -460,17 +477,6 @@ int AnyServer::startupSupervisor () {
exit(result); exit(result);
} }
} }
// remove pid file
if (FileUtils::changeDirectory(current)) {
if (! FileUtils::remove(_pidFile)) {
LOGGER_ERROR << "cannot unlink pid file '" << _pidFile << "'";
}
}
else {
LOGGER_ERROR << "cannot unlink pid file '" << _pidFile << "', because directory '"
<< current << "' is missing";
}
} }
return result; return result;

View File

@ -1103,6 +1103,38 @@ static v8::Handle<v8::Value> JS_Time (v8::Arguments const& argv) {
return scope.Close(v8::Number::New(TRI_microtime())); return scope.Close(v8::Number::New(TRI_microtime()));
} }
////////////////////////////////////////////////////////////////////////////////
/// @brief returns the current time
///
/// @FUN{internal.wait(<seconds>)}
///
/// Wait for <seconds>, call the garbage collection.
////////////////////////////////////////////////////////////////////////////////
static v8::Handle<v8::Value> JS_Wait (v8::Arguments const& argv) {
v8::HandleScope scope;
// extract arguments
if (argv.Length() != 1) {
return scope.Close(v8::ThrowException(v8::String::New("usage: wait(<seconds>)")));
}
double n = TRI_ObjectToDouble(argv[0]);
double until = TRI_microtime() + n;
while(! v8::V8::IdleNotification()) {
}
while (TRI_microtime() < until) {
while(! v8::V8::IdleNotification()) {
}
usleep(100);
}
return scope.Close(v8::Undefined());
}
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/// @} /// @}
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
@ -1508,6 +1540,10 @@ void TRI_InitV8Utils (v8::Handle<v8::Context> context, string const& path) {
v8::FunctionTemplate::New(JS_Time)->GetFunction(), v8::FunctionTemplate::New(JS_Time)->GetFunction(),
v8::ReadOnly); v8::ReadOnly);
context->Global()->Set(v8::String::New("SYS_WAIT"),
v8::FunctionTemplate::New(JS_Wait)->GetFunction(),
v8::ReadOnly);
// ............................................................................. // .............................................................................
// create the global variables // create the global variables
// ............................................................................. // .............................................................................

View File

@ -61,6 +61,9 @@ case $TRI_OS_LONG in
START_SCRIPT="rc.arangodb.OpenSuSE" START_SCRIPT="rc.arangodb.OpenSuSE"
runlevels="035" runlevels="035"
docdir=${prefix}/share/doc/packages/voc/${vers_dir} docdir=${prefix}/share/doc/packages/voc/${vers_dir}
# exports for the epm configuration file
export insserv="true"
;; ;;
Linux-Debian*) Linux-Debian*)
@ -158,7 +161,7 @@ export EPM_RPM_OPTION
test -f ${SUBLIST} && rm -f ${SUBLIST} test -f ${SUBLIST} && rm -f ${SUBLIST}
touch ${SUBLIST} touch ${SUBLIST}
share_base=${static_dir}/arango share_base=${static_dir}/arangodb
sfolder_name=$(pwd) sfolder_name=$(pwd)
echo echo
@ -196,10 +199,12 @@ echo "Export vars for epm"
echo " export arangodb_release=$arangodb_release" echo " export arangodb_release=$arangodb_release"
echo " export arangodb_version=$arangodb_version" echo " export arangodb_version=$arangodb_version"
echo " export bindir=$bindir" echo " export bindir=$bindir"
echo " export chkconf=$chkconf"
echo " export data_dir=$data_dir" echo " export data_dir=$data_dir"
echo " export docdir=$docdir" echo " export docdir=$docdir"
echo " export exec_prefix=$exec_prefix" echo " export exec_prefix=$exec_prefix"
echo " export initdir=$initdir" echo " export initdir=$initdir"
echo " export insserv=$insserv"
echo " export prefix=$prefix" echo " export prefix=$prefix"
echo " export project_dir=${sfolder_name}" echo " export project_dir=${sfolder_name}"
echo " export rgrp=$rgrp" echo " export rgrp=$rgrp"