diff options
-rwxr-xr-x | scripts/rabbitmq-server.bat | 10 | ||||
-rwxr-xr-x | scripts/rabbitmq-service.bat | 23 | ||||
-rw-r--r-- | src/rabbit_channel.erl | 5 | ||||
-rw-r--r-- | src/rabbit_router.erl | 1 | ||||
-rw-r--r-- | src/rabbit_tests.erl | 12 |
5 files changed, 23 insertions, 28 deletions
diff --git a/scripts/rabbitmq-server.bat b/scripts/rabbitmq-server.bat index 0a78794f..c27b418a 100755 --- a/scripts/rabbitmq-server.bat +++ b/scripts/rabbitmq-server.bat @@ -57,13 +57,11 @@ if not exist "!ERLANG_HOME!\bin\erl.exe" ( exit /B
)
-set RABBITMQ_BASE_UNIX=!RABBITMQ_BASE:\=/!
-
if "!RABBITMQ_MNESIA_BASE!"=="" (
- set RABBITMQ_MNESIA_BASE=!RABBITMQ_BASE_UNIX!/db
+ set RABBITMQ_MNESIA_BASE=!RABBITMQ_BASE!/db
)
if "!RABBITMQ_LOG_BASE!"=="" (
- set RABBITMQ_LOG_BASE=!RABBITMQ_BASE_UNIX!/log
+ set RABBITMQ_LOG_BASE=!RABBITMQ_BASE!/log
)
@@ -96,7 +94,7 @@ set RABBITMQ_EBIN_ROOT=!TDP0!..\ebin -noinput -hidden ^
-s rabbit_prelaunch ^
-sname rabbitmqprelaunch!RANDOM! ^
--extra "!RABBITMQ_ENABLED_PLUGINS_FILE!" ^
+-extra "!RABBITMQ_ENABLED_PLUGINS_FILE:\=/!" ^
"!RABBITMQ_PLUGINS_DIR:\=/!" ^
"!RABBITMQ_PLUGINS_EXPAND_DIR:\=/!" ^
"!RABBITMQ_NODENAME!"
@@ -144,7 +142,7 @@ if not "!RABBITMQ_NODE_IP_ADDRESS!"=="" ( -os_mon start_cpu_sup true ^
-os_mon start_disksup false ^
-os_mon start_memsup false ^
--mnesia dir \""!RABBITMQ_MNESIA_DIR!"\" ^
+-mnesia dir \""!RABBITMQ_MNESIA_DIR:\=/!"\" ^
!RABBITMQ_SERVER_START_ARGS! ^
!STAR!
diff --git a/scripts/rabbitmq-service.bat b/scripts/rabbitmq-service.bat index e671ba7a..4d3fce49 100755 --- a/scripts/rabbitmq-service.bat +++ b/scripts/rabbitmq-service.bat @@ -80,7 +80,7 @@ rem *** End of configuration *** if not exist "!ERLANG_SERVICE_MANAGER_PATH!\erlsrv.exe" (
echo.
echo **********************************************
- echo ERLANG_SERVICE_MANAGER_PATH not set correctly.
+ echo ERLANG_SERVICE_MANAGER_PATH not set correctly.
echo **********************************************
echo.
echo "!ERLANG_SERVICE_MANAGER_PATH!\erlsrv.exe" not found
@@ -89,14 +89,11 @@ if not exist "!ERLANG_SERVICE_MANAGER_PATH!\erlsrv.exe" ( exit /B 1
)
-rem erlang prefers forwardslash as separator in paths
-set RABBITMQ_BASE_UNIX=!RABBITMQ_BASE:\=/!
-
if "!RABBITMQ_MNESIA_BASE!"=="" (
- set RABBITMQ_MNESIA_BASE=!RABBITMQ_BASE_UNIX!/db
+ set RABBITMQ_MNESIA_BASE=!RABBITMQ_BASE!/db
)
if "!RABBITMQ_LOG_BASE!"=="" (
- set RABBITMQ_LOG_BASE=!RABBITMQ_BASE_UNIX!/log
+ set RABBITMQ_LOG_BASE=!RABBITMQ_BASE!/log
)
@@ -118,7 +115,7 @@ if "!RABBITMQ_PLUGINS_EXPAND_DIR!"=="" ( )
if "!P1!" == "install" goto INSTALL_SERVICE
-for %%i in (start stop disable enable list remove) do if "%%i" == "!P1!" goto MODIFY_SERVICE
+for %%i in (start stop disable enable list remove) do if "%%i" == "!P1!" goto MODIFY_SERVICE
echo.
echo *********************
@@ -129,7 +126,7 @@ echo !TN0! help - Display this help echo !TN0! install - Install the !RABBITMQ_SERVICENAME! service
echo !TN0! remove - Remove the !RABBITMQ_SERVICENAME! service
echo.
-echo The following actions can also be accomplished by using
+echo The following actions can also be accomplished by using
echo Windows Services Management Console (services.msc):
echo.
echo !TN0! start - Start the !RABBITMQ_SERVICENAME! service
@@ -143,7 +140,7 @@ exit /B :INSTALL_SERVICE
if not exist "!RABBITMQ_BASE!" (
- echo Creating base directory !RABBITMQ_BASE! & md "!RABBITMQ_BASE!"
+ echo Creating base directory !RABBITMQ_BASE! & md "!RABBITMQ_BASE!"
)
"!ERLANG_SERVICE_MANAGER_PATH!\erlsrv" list !RABBITMQ_SERVICENAME! 2>NUL 1>NUL
@@ -164,7 +161,7 @@ set RABBITMQ_EBIN_ROOT=!TDP0!..\ebin -pa "!RABBITMQ_EBIN_ROOT!" ^
-noinput -hidden ^
-s rabbit_prelaunch ^
--extra "!RABBITMQ_ENABLED_PLUGINS_FILE!" ^
+-extra "!RABBITMQ_ENABLED_PLUGINS_FILE:\=/!" ^
"!RABBITMQ_PLUGINS_DIR:\=/!" ^
"!RABBITMQ_PLUGINS_EXPAND_DIR:\=/!" ^
""
@@ -179,7 +176,7 @@ set RABBITMQ_EBIN_PATH= if "!RABBITMQ_CONFIG_FILE!"=="" (
set RABBITMQ_CONFIG_FILE=!RABBITMQ_BASE!\rabbitmq
)
-
+
if exist "!RABBITMQ_CONFIG_FILE!.config" (
set RABBITMQ_CONFIG_ARG=-config "!RABBITMQ_CONFIG_FILE!"
) else (
@@ -210,7 +207,7 @@ set ERLANG_SERVICE_ARGUMENTS= ^ -os_mon start_cpu_sup true ^
-os_mon start_disksup false ^
-os_mon start_memsup false ^
--mnesia dir \""!RABBITMQ_MNESIA_DIR!"\" ^
+-mnesia dir \""!RABBITMQ_MNESIA_DIR:\=/!"\" ^
!RABBITMQ_SERVER_START_ARGS! ^
!STAR!
@@ -219,7 +216,7 @@ set ERLANG_SERVICE_ARGUMENTS=!ERLANG_SERVICE_ARGUMENTS:"=\"! "!ERLANG_SERVICE_MANAGER_PATH!\erlsrv" set !RABBITMQ_SERVICENAME! ^
-machine "!ERLANG_SERVICE_MANAGER_PATH!\erl.exe" ^
--env ERL_CRASH_DUMP="!RABBITMQ_BASE_UNIX!/erl_crash.dump" ^
+-env ERL_CRASH_DUMP="!RABBITMQ_BASE:\=/!/erl_crash.dump" ^
-workdir "!RABBITMQ_BASE!" ^
-stopaction "rabbit:stop_and_halt()." ^
-sname !RABBITMQ_NODENAME! ^
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl index 883e570a..9b2fe28c 100644 --- a/src/rabbit_channel.erl +++ b/src/rabbit_channel.erl @@ -1080,9 +1080,8 @@ handle_method(#'tx.rollback'{}, _, #ch{tx_status = none}) -> handle_method(#'tx.rollback'{}, _, State = #ch{unacked_message_q = UAMQ, uncommitted_acks = TAL}) -> - TAQ = queue:from_list(lists:reverse(TAL)), - {reply, #'tx.rollback_ok'{}, - new_tx(State#ch{unacked_message_q = queue:join(TAQ, UAMQ)})}; + UAMQ1 = queue:from_list(lists:usort(TAL ++ queue:to_list(UAMQ))), + {reply, #'tx.rollback_ok'{}, new_tx(State#ch{unacked_message_q = UAMQ1})}; handle_method(#'confirm.select'{}, _, #ch{tx_status = in_progress}) -> rabbit_misc:protocol_error( diff --git a/src/rabbit_router.erl b/src/rabbit_router.erl index fad18695..31f5ad14 100644 --- a/src/rabbit_router.erl +++ b/src/rabbit_router.erl @@ -48,6 +48,7 @@ deliver([], #delivery{mandatory = false, immediate = false}) -> %% /dev/null optimisation {routed, []}; + deliver(QNames, Delivery = #delivery{mandatory = false, immediate = false}) -> %% optimisation: when Mandatory = false and Immediate = false, diff --git a/src/rabbit_tests.erl b/src/rabbit_tests.erl index bf856a16..3a4f6f84 100644 --- a/src/rabbit_tests.erl +++ b/src/rabbit_tests.erl @@ -1700,6 +1700,8 @@ on_disk_capture() -> stop -> done end. +on_disk_capture([_|_], _Awaiting, Pid) -> + Pid ! {self(), surplus}; on_disk_capture(OnDisk, Awaiting, Pid) -> receive {on_disk, MsgIdsS} -> @@ -1708,12 +1710,10 @@ on_disk_capture(OnDisk, Awaiting, Pid) -> Pid); stop -> done - after 200 -> - case {OnDisk, Awaiting} of - {[], []} -> Pid ! {self(), arrived}, on_disk_capture(); - {_, []} -> Pid ! {self(), surplus}; - {[], _} -> Pid ! {self(), timeout}; - {_, _} -> Pid ! {self(), surplus_timeout} + after (case Awaiting of [] -> 200; _ -> 1000 end) -> + case Awaiting of + [] -> Pid ! {self(), arrived}, on_disk_capture(); + _ -> Pid ! {self(), timeout} end end. |