summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorAlexey Lebedeff <alebedev@mirantis.com>2016-05-20 15:43:35 +0300
committerAlexey Lebedeff <alebedev@mirantis.com>2016-05-20 17:39:28 +0300
commit4dd4fd61f4e55bff38ec1725fb9c0df7437ba53f (patch)
tree5317398061d980fa27d37c58f6df43b673823944 /scripts
parent776dd2423f8e64ad7e387a7bb8e3b34e484f3c9d (diff)
downloadrabbitmq-server-git-4dd4fd61f4e55bff38ec1725fb9c0df7437ba53f.tar.gz
Allow caching HiPE-compilation results
That way HiPE compilation can be performed during package installation and will not waste time during every startup. rabbit_hipe is refactored to support both modes of compilation - during every server startup or separately with caching in the filesystem.
Diffstat (limited to 'scripts')
-rwxr-xr-x[-rw-r--r--]scripts/rabbitmq-env1
-rwxr-xr-xscripts/rabbitmq-server6
2 files changed, 6 insertions, 1 deletions
diff --git a/scripts/rabbitmq-env b/scripts/rabbitmq-env
index 35239620ca..def47ebd27 100644..100755
--- a/scripts/rabbitmq-env
+++ b/scripts/rabbitmq-env
@@ -177,6 +177,7 @@ DEFAULT_NODE_PORT=5672
[ "x" = "x$RABBITMQ_MNESIA_BASE" ] && RABBITMQ_MNESIA_BASE=${MNESIA_BASE}
[ "x" = "x$RABBITMQ_SERVER_START_ARGS" ] && RABBITMQ_SERVER_START_ARGS=${SERVER_START_ARGS}
[ "x" = "x$RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS" ] && RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS=${SERVER_ADDITIONAL_ERL_ARGS}
+[ "x" = "x$RABBITMQ_SERVER_CODE_PATH" ] && RABBITMQ_SERVER_CODE_PATH=${SERVER_CODE_PATH}
[ "x" = "x$RABBITMQ_MNESIA_DIR" ] && RABBITMQ_MNESIA_DIR=${MNESIA_DIR}
[ "x" = "x$RABBITMQ_MNESIA_DIR" ] && RABBITMQ_MNESIA_DIR=${RABBITMQ_MNESIA_BASE}/${RABBITMQ_NODENAME}
diff --git a/scripts/rabbitmq-server b/scripts/rabbitmq-server
index ab2975feb1..74337311cd 100755
--- a/scripts/rabbitmq-server
+++ b/scripts/rabbitmq-server
@@ -133,11 +133,15 @@ ensure_thread_pool_size() {
}
start_rabbitmq_server() {
+ # "-pa ${RABBITMQ_SERVER_CODE_PATH}" should be the very first
+ # command-line argument. In case of using cached HiPE-compilation,
+ # this will allow for compiled versions of erlang built-in modules
+ # (e.g. lists) to be loaded.
ensure_thread_pool_size
check_start_params &&
RABBITMQ_CONFIG_FILE=$RABBITMQ_CONFIG_FILE \
exec ${ERL_DIR}erl \
- -pa ${RABBITMQ_EBIN_ROOT} \
+ -pa ${RABBITMQ_SERVER_CODE_PATH} ${RABBITMQ_EBIN_ROOT} \
${RABBITMQ_START_RABBIT} \
${RABBITMQ_NAME_TYPE} ${RABBITMQ_NODENAME} \
-boot "${SASL_BOOT_FILE}" \