diff options
Diffstat (limited to 'lib/megaco')
25 files changed, 229 insertions, 109 deletions
diff --git a/lib/megaco/Makefile b/lib/megaco/Makefile index 10efaf667f..9dc84c122c 100644 --- a/lib/megaco/Makefile +++ b/lib/megaco/Makefile @@ -97,9 +97,8 @@ endif CONFIGURE_OPTS = $(FLEX_SCANNER_LINENO_ENABLER) $(FLEX_SCANNER_REENTRANT_ENABLER) -MEGACO_DIA_PLT = ./priv/megaco.plt -MEGACO_DIA_PLT_LOG = $(basename $(MEGACO_DIA_PLT)).dialyzer_plt_log -MEGACO_DIA_LOG = $(basename $(MEGACO_DIA_PLT)).dialyzer_log +DIA_PLT = ./priv/plt/$(APPLICATION).plt +DIA_ANALYSIS = $(basename $(DIA_PLT)).dialyzer_analysis # ---------------------------------------------------- @@ -140,8 +139,8 @@ info: @echo "OTP_INSTALL_DIR: $(OTP_INSTALL_DIR)" @echo "APP_INSTALL_DIR: $(APP_INSTALL_DIR)" @echo "" - @echo "MEGACO_PLT = $(MEGACO_PLT)" - @echo "MEGACO_DIA_LOG = $(MEGACO_DIA_LOG)" + @echo "DIA_PLT: $(DIA_PLT)" + @echo "DIA_ANALYSIS: $(DIA_ANALYSIS)" @echo "" version: @@ -201,18 +200,18 @@ tar: $(APP_TAR_FILE) $(APP_TAR_FILE): $(APP_DIR) (cd $(APP_RELEASE_DIR); gtar zcf $(APP_TAR_FILE) $(DIR_NAME)) -dialyzer_plt: $(MEGACO_DIA_PLT) +dialyzer_plt: $(DIA_PLT) -$(MEGACO_DIA_PLT): - @echo "Building megaco plt file" +$(DIA_PLT): + @echo "Building $(APPLICATION) plt file" @dialyzer --build_plt \ --output_plt $@ \ - -r ../megaco/ebin \ - -o $(MEGACO_DIA_PLT_LOG) \ + -r ../$(APPLICATION)/ebin \ + --output $(DIA_ANALYSIS) \ --verbose -dialyzer: $(MEGACO_DIA_PLT) - (dialyzer --plt $< \ - -o $(MEGACO_DIA_LOG) \ - ../megaco/ebin \ - && (shell cat $(MEGACO_DIA_LOG))) +dialyzer: $(DIA_PLT) + @echo "Running dialyzer on $(APPLICATION)" + @dialyzer --plt $< \ + ../$(APPLICATION)/ebin \ + --verbose diff --git a/lib/megaco/configure.in b/lib/megaco/configure.in index b88e17ec85..42c50b8961 100644 --- a/lib/megaco/configure.in +++ b/lib/megaco/configure.in @@ -208,7 +208,7 @@ if test "X$host" = "Xwin32"; then else case $host_os in darwin*) - CFLAGS="$CFLAGS -no-cpp-precomp -fno-common" + CFLAGS="$CFLAGS -fno-common" ;; esac diff --git a/lib/megaco/doc/src/Makefile b/lib/megaco/doc/src/Makefile index f782afc3f6..137f0315d8 100644 --- a/lib/megaco/doc/src/Makefile +++ b/lib/megaco/doc/src/Makefile @@ -1,7 +1,7 @@ # # %CopyrightBegin% # -# Copyright Ericsson AB 2000-2010. All Rights Reserved. +# Copyright Ericsson AB 2000-2011. All Rights Reserved. # # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in @@ -123,10 +123,13 @@ imgs: $(IMG_FILES:%=$(HTMLDIR)/%) man: $(MAN3_FILES) $(INDEX_TARGET): $(INDEX_SRC) $(APP_FILE) - sed -e 's/%VSN%/$(VSN)/; \ - s/%ERLANG_SITE%/www\.erlang\.se\//; \ - s/%UP_ONE_LEVEL%/..\/..\/..\/doc\/index.html/; \ - s/%OFF_PRINT%/pdf\/megaco-$(VSN).pdf/' $< > $@ + sed -e 's/%VSN%/$(VSN)/' $< > $@ + +$(INDEX_TARGET): $(INDEX_SRC) $(APP_FILE) + sed -e 's/%VSN%/$(VSN)/' \ + -e 's/%ERLANG_SITE%/www\.erlang\.se\//' \ + -e 's/%UP_ONE_LEVEL%/..\/..\/..\/doc\/index.html/' \ + -e 's/%OFF_PRINT%/pdf\/megaco-$(VSN).pdf/' $< > $@ debug opt: diff --git a/lib/megaco/doc/src/megaco_run.xml b/lib/megaco/doc/src/megaco_run.xml index 9ed589b079..b723778890 100644 --- a/lib/megaco/doc/src/megaco_run.xml +++ b/lib/megaco/doc/src/megaco_run.xml @@ -4,7 +4,7 @@ <chapter> <header> <copyright> - <year>2000</year><year>2010</year> + <year>2000</year><year>2011</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -317,7 +317,7 @@ "in storage" (indicated by the transaction id) it is assumed to be a resend and everything stored is sent. This could happen if the values of the <c><![CDATA[trans_timer]]></c> and the - <c><![CDATA[request_timer]]></c> is not properly choosen.</p> + <c><![CDATA[request_timer]]></c> is not properly chosen.</p> </section> <section> diff --git a/lib/megaco/doc/src/notes.xml b/lib/megaco/doc/src/notes.xml index baf8c6a201..393064fbb5 100644 --- a/lib/megaco/doc/src/notes.xml +++ b/lib/megaco/doc/src/notes.xml @@ -4,7 +4,7 @@ <chapter> <header> <copyright> - <year>2000</year><year>2011</year> + <year>2000</year><year>2012</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -36,9 +36,78 @@ section is the version number of Megaco.</p> - <section><title>Megaco 3.15.1.2</title> + <section><title>Megaco 3.16.0.1</title> - <p>Version 3.15.1.2 supports code replacement in runtime from/to + <p>Version 3.16.0.1 supports code replacement in runtime from/to + version 3.16, 3.15.1.1, 3.15.1 and 3.15.</p> + + <section> + <title>Improvements and new features</title> + +<!-- + <p>-</p> +--> + + <list type="bulleted"> + <item> + <p>Fixed some faulty test cases. </p> +<!-- + <p>Own Id: OTP-9795</p> +--> + </item> + + <item> + <p>Removed use of deprecated system flag, + <c>scheduler_bind_type</c>, in the measurement tool + <c>mstone1</c>. </p> + <p>Own Id: OTP-9949</p> + </item> + + </list> + + </section> + + <section> + <title>Fixed bugs and malfunctions</title> + + <p>-</p> + + <!-- + <list type="bulleted"> + <item> + <p>Fixing miscellaneous things detected by dialyzer. </p> + <p>Own Id: OTP-9075</p> + </item> + + </list> + --> + + </section> + + <section> + <title>Incompatibilities</title> + <p>-</p> + +<!-- + <list type="bulleted"> + <item> + <p>Due to the change in the flex driver API, + we may no longer be able to build and/or use + the flex driver without reentrant support. </p> + <p>Own Id: OTP-9795</p> + </item> + + </list> +--> + + </section> + + </section> <!-- 3.16.0.1 --> + + + <section><title>Megaco 3.16</title> + + <p>Version 3.16 supports code replacement in runtime from/to version 3.15.1.1, 3.15.1 and 3.15.</p> <section> @@ -50,7 +119,7 @@ <list type="bulleted"> <item> - <p>Minor improvemnts to the emasurement tool mstone1. </p> + <p>Minor improvements to the measurement tool <c>mstone1</c>. </p> <p>Own Id: OTP-9604</p> </item> @@ -67,6 +136,12 @@ <p>Own Id: OTP-9679</p> </item> + <item> + <p>The flex driver has been updated to support the new driver format + (changed to enable 64-bit aware drivers). </p> + <p>Own Id: OTP-9795</p> + </item> + </list> </section> @@ -88,7 +163,25 @@ </section> - </section> <!-- 3.15.1.2 --> + <section> + <title>Incompatibilities</title> + <p>-</p> + +<!-- + <list type="bulleted"> + <item> + <p>Due to the change in the flex driver API, + we may no longer be able to build and/or use + the flex driver without reentrant support. </p> + <p>Own Id: OTP-9795</p> + </item> + + </list> +--> + + </section> + + </section> <!-- 3.16 --> <section><title>Megaco 3.15.1.1</title> diff --git a/lib/megaco/examples/meas/meas.sh.skel.src b/lib/megaco/examples/meas/meas.sh.skel.src index c7bd6cdd2a..ecf463b9c6 100644 --- a/lib/megaco/examples/meas/meas.sh.skel.src +++ b/lib/megaco/examples/meas/meas.sh.skel.src @@ -2,7 +2,7 @@ # %CopyrightBegin% # -# Copyright Ericsson AB 2007-2011. All Rights Reserved. +# Copyright Ericsson AB 2007-2012. All Rights Reserved. # # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in @@ -32,6 +32,7 @@ STOP="-s init stop" ERL="erl \ -noshell \ + +sbt tnnps \ -pa $MEAS_HOME \ $MEAS_DEFAULT \ $STOP" diff --git a/lib/megaco/examples/meas/megaco_codec_mstone1.erl b/lib/megaco/examples/meas/megaco_codec_mstone1.erl index 9ab7822df8..2133cd633c 100644 --- a/lib/megaco/examples/meas/megaco_codec_mstone1.erl +++ b/lib/megaco/examples/meas/megaco_codec_mstone1.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2005-2009. All Rights Reserved. +%% Copyright Ericsson AB 2005-2012. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -191,7 +191,6 @@ mstone_init(MessagePackage, Factor, Codecs, DrvInclude) -> do_mstone(MessagePackage, Factor, Codecs, DrvInclude) -> io:format("~n", []), - ?LIB:set_default_sched_bind(), ?LIB:display_os_info(), ?LIB:display_system_info(), ?LIB:display_app_info(), diff --git a/lib/megaco/examples/meas/megaco_codec_mstone2.erl b/lib/megaco/examples/meas/megaco_codec_mstone2.erl index f3588f2e3d..54b889345f 100644 --- a/lib/megaco/examples/meas/megaco_codec_mstone2.erl +++ b/lib/megaco/examples/meas/megaco_codec_mstone2.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2006-2009. All Rights Reserved. +%% Copyright Ericsson AB 2006-2012. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -40,7 +40,7 @@ %% When the finished timer expires, it will stop respawing %% the worker processes, and instead just wait for them all %% to finish. -%% The test is finished by printing the statistics. +%% The test is finishes by printing the statistics. %% - A worker process for each codec combination. %% This process is spawned by the loader process. It receives %% at start a list of messages. It shall decode and then @@ -162,7 +162,6 @@ parse_message_package(BadMessagePackage) -> mstone_init(MessagePackage, DrvInclude) -> io:format("~n", []), - ?LIB:set_default_sched_bind(), ?LIB:display_os_info(), ?LIB:display_system_info(), ?LIB:display_app_info(), diff --git a/lib/megaco/examples/meas/megaco_codec_mstone_lib.erl b/lib/megaco/examples/meas/megaco_codec_mstone_lib.erl index 040af9826b..ca8016d65f 100644 --- a/lib/megaco/examples/meas/megaco_codec_mstone_lib.erl +++ b/lib/megaco/examples/meas/megaco_codec_mstone_lib.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2006-2010. All Rights Reserved. +%% Copyright Ericsson AB 2006-2012. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -30,7 +30,6 @@ -compile({no_auto_import,[error/1]}). -export([start_flex_scanner/0, stop_flex_scanner/1, expanded_messages/2, expanded_messages/3, - set_default_sched_bind/0, display_os_info/0, display_system_info/0, display_alloc_info/0, @@ -70,16 +69,6 @@ detect_version(Codec, Conf, Bin) -> %%---------------------------------------------------------------------- %% -%% S c h e d u l e r b i n d t y p e -%% -%%---------------------------------------------------------------------- - -set_default_sched_bind() -> - (catch erlang:system_flag(scheduler_bind_type, default_bind)). - - -%%---------------------------------------------------------------------- -%% %% D i s p l a y O s I n f o %% %%---------------------------------------------------------------------- diff --git a/lib/megaco/examples/meas/mstone1.sh.skel.src b/lib/megaco/examples/meas/mstone1.sh.skel.src index 54a6c61a58..b1935acef6 100644 --- a/lib/megaco/examples/meas/mstone1.sh.skel.src +++ b/lib/megaco/examples/meas/mstone1.sh.skel.src @@ -3,7 +3,7 @@ # # %CopyrightBegin% # -# Copyright Ericsson AB 2007-2011. All Rights Reserved. +# Copyright Ericsson AB 2007-2012. All Rights Reserved. # # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in @@ -55,6 +55,15 @@ Options: flex scanner will be used nd - only codec config(s) without drivers will be used od - only codec config(s) with drivers will be used + -sbt <bind-type> Set scheduler bind type. See erl man page for more info. + tnnps - Thread no node processor spread (default) + u - Unbound + ns - No spread + ts - Thread spread + ps - Processor spread + s - Spread + nnts - No node thread spread + nnps - No node processor spread -- everything after this is just passed on to erl. " @@ -67,6 +76,7 @@ MODULE=megaco_codec_mstone1 STARTF="start" FACTOR="" MSG_PACK=time_test +SBT="+sbt tnnps" while test $# != 0; do # echo "DBG: Value = $1" @@ -107,6 +117,17 @@ while test $# != 0; do exit 0 esac;; + -sbt) + case $2 in + tnnps|u|ns|ts|ps|s|nnts|nnps) + SBT="+sbt $2"; + shift ; shift ;; + *) + echo "unknown scheduler bind type: $2"; + echo "$usage" ; + exit 0 + esac;; + -f) if [ "x$SCHED" != "x" ]; then echo "option(s) -s and -f cannot both be given" ; @@ -177,6 +198,7 @@ if [ $TYPE = factor ]; then ERL="erl \ -noshell \ + $SBT \ $PHS \ $ATP \ $SMP_OPTS \ @@ -218,6 +240,7 @@ elif [ $TYPE = sched ]; then ERL="erl \ -noshell \ + $SBT \ $PHS \ $ATP \ $SMP_OPTS \ diff --git a/lib/megaco/include/megaco_message_prev3a.hrl b/lib/megaco/include/megaco_message_prev3a.hrl index 7b7a60fdae..3e73f94761 100644 --- a/lib/megaco/include/megaco_message_prev3a.hrl +++ b/lib/megaco/include/megaco_message_prev3a.hrl @@ -563,7 +563,7 @@ %% This is the actual ASN.1 type and it is as this it will -%% be represented if the encoding config [native] is choosen. +%% be represented if the encoding config [native] is chosen. %% %% String of at least 1 character and at most 67 characters (ASN.1). %% %% 64 characters for name, 1 for "/", 2 for version to match ABNF %% -record('ServiceChangeProfile', diff --git a/lib/megaco/include/megaco_message_prev3b.hrl b/lib/megaco/include/megaco_message_prev3b.hrl index cfabb29941..b4bde2bb7e 100644 --- a/lib/megaco/include/megaco_message_prev3b.hrl +++ b/lib/megaco/include/megaco_message_prev3b.hrl @@ -563,7 +563,7 @@ %% This is the actual ASN.1 type and it is as this it will -%% be represented if the encoding config [native] is choosen. +%% be represented if the encoding config [native] is chosen. %% %% String of at least 1 character and at most 67 characters (ASN.1). %% %% 64 characters for name, 1 for "/", 2 for version to match ABNF %% -record('ServiceChangeProfile', diff --git a/lib/megaco/include/megaco_message_prev3c.hrl b/lib/megaco/include/megaco_message_prev3c.hrl index 32024c9a02..90612f66c8 100644 --- a/lib/megaco/include/megaco_message_prev3c.hrl +++ b/lib/megaco/include/megaco_message_prev3c.hrl @@ -748,7 +748,7 @@ %% This is the actual ASN.1 type and it is as this it will -%% be represented if the encoding config [native] is choosen. +%% be represented if the encoding config [native] is chosen. %% %% String of at least 1 character and at most 67 characters (ASN.1). %% %% 64 characters for name, 1 for "/", 2 for version to match ABNF %% -record('ServiceChangeProfile', diff --git a/lib/megaco/include/megaco_message_v1.hrl b/lib/megaco/include/megaco_message_v1.hrl index ba50b50c80..f196c26713 100644 --- a/lib/megaco/include/megaco_message_v1.hrl +++ b/lib/megaco/include/megaco_message_v1.hrl @@ -404,7 +404,7 @@ }). % with extension mark %% This is the actual ASN.1 type and it is as this it will -%% be represented if the encoding config [native] is choosen. +%% be represented if the encoding config [native] is chosen. % %% String of at least 1 character and at most 67 characters (ASN.1). % %% 64 characters for name, 1 for "/", 2 for version to match ABNF % -record('ServiceChangeProfile', diff --git a/lib/megaco/include/megaco_message_v2.hrl b/lib/megaco/include/megaco_message_v2.hrl index 6190ea7ac4..af79c4dc92 100644 --- a/lib/megaco/include/megaco_message_v2.hrl +++ b/lib/megaco/include/megaco_message_v2.hrl @@ -525,7 +525,7 @@ %% This is the actual ASN.1 type and it is as this it will -%% be represented if the encoding config [native] is choosen. +%% be represented if the encoding config [native] is chosen. %% %% String of at least 1 character and at most 67 characters (ASN.1). %% %% 64 characters for name, 1 for "/", 2 for version to match ABNF %% -record('ServiceChangeProfile', diff --git a/lib/megaco/include/megaco_message_v3.hrl b/lib/megaco/include/megaco_message_v3.hrl index 7a1bc80571..466cfa6856 100644 --- a/lib/megaco/include/megaco_message_v3.hrl +++ b/lib/megaco/include/megaco_message_v3.hrl @@ -743,7 +743,7 @@ %% This is the actual ASN.1 type and it is as this it will -%% be represented if the encoding config [native] is choosen. +%% be represented if the encoding config [native] is chosen. %% %% String of at least 1 character and at most 67 characters (ASN.1). %% %% 64 characters for name, 1 for "/", 2 for version to match ABNF %% -record('ServiceChangeProfile', diff --git a/lib/megaco/priv/plt/.gitignore b/lib/megaco/priv/plt/.gitignore new file mode 100644 index 0000000000..2051b52d48 --- /dev/null +++ b/lib/megaco/priv/plt/.gitignore @@ -0,0 +1,2 @@ +/*.plt +/*.dialyzer_analysis diff --git a/lib/megaco/src/app/megaco.appup.src b/lib/megaco/src/app/megaco.appup.src index 7f6fe0c733..7f89fa8bc2 100644 --- a/lib/megaco/src/app/megaco.appup.src +++ b/lib/megaco/src/app/megaco.appup.src @@ -2,7 +2,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2001-2011. All Rights Reserved. +%% Copyright Ericsson AB 2001-2012. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -141,48 +141,52 @@ %% 3.15.1.1 %% | %% v -%% 3.15.1.2 +%% 3.16 +%% | +%% v +%% 3.16.0.1 %% %% {"%VSN%", [ + {"3.16", + [ + ] + }, {"3.15.1.1", [ + {restart_application, megaco} ] }, {"3.15.1", [ + {restart_application, megaco} ] }, {"3.15", [ - {load_module, megaco_flex_scanner, soft_purge, soft_purge, []}, - {load_module, megaco_sdp, soft_purge, soft_purge, []}, - {load_module, megaco_filter, soft_purge, soft_purge, []}, - {load_module, megaco_timer, soft_purge, soft_purge, [megaco_config_misc]}, - {update, megaco_config, soft, soft_purge, soft_purge, - [megaco_timer, megaco_config_misc]}, - {add_module, megaco_config_misc} + {restart_application, megaco} ] } ], [ + {"3.16", + [ + ] + }, {"3.15.1.1", [ + {restart_application, megaco} ] }, {"3.15.1", [ + {restart_application, megaco} ] }, {"3.15", [ - {load_module, megaco_flex_scanner, soft_purge, soft_purge, []}, - {load_module, megaco_sdp, soft_purge, soft_purge, []}, - {load_module, megaco_filter, soft_purge, soft_purge, []}, - {load_module, megaco_timer, soft_purge, soft_purge, [megaco_config]}, - {update, megaco_config, soft, soft_purge, soft_purge, []}, - {remove, {megaco_config_misc, soft_purge, brutal_purge}} + {restart_application, megaco} ] } ] diff --git a/lib/megaco/src/engine/megaco_digit_map.erl b/lib/megaco/src/engine/megaco_digit_map.erl index de28686d6d..bf798d7938 100644 --- a/lib/megaco/src/engine/megaco_digit_map.erl +++ b/lib/megaco/src/engine/megaco_digit_map.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2000-2009. All Rights Reserved. +%% Copyright Ericsson AB 2000-2011. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -362,7 +362,7 @@ collect(Event, State, Timers, STL, Letters) -> "~n Timers2: ~p" "~n Letters2: ~p", [State2, Timers2, Letters2]), MaxWait = choose_timer(State2, Event, Timers2), - ?d("collect -> Timer choosen: " + ?d("collect -> Timer chosen: " "~n MaxWait: ~p", [MaxWait]), receive {?MODULE, _FromPid, Event2} -> @@ -737,7 +737,7 @@ compute_cont([Next | Cont] = All, Mode, GlobalMode, State, STL) -> "~n Mode: ~p" "~n GlobalMode: ~p", [Next, Mode, GlobalMode]), case Next of - %% Retain long timer if that has already been choosen + %% Retain long timer if that has already been chosen use_short_timer when GlobalMode =:= use_long_timer -> compute_cont(Cont, Mode, GlobalMode, State, STL); use_short_timer -> diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in index 2c46a673e4..7d82644246 100644 --- a/lib/megaco/src/flex/Makefile.in +++ b/lib/megaco/src/flex/Makefile.in @@ -1,7 +1,7 @@ # # %CopyrightBegin% # -# Copyright Ericsson AB 2001-2010. All Rights Reserved. +# Copyright Ericsson AB 2001-2011. All Rights Reserved. # # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in diff --git a/lib/megaco/src/flex/megaco_flex_scanner_drv.flex.src b/lib/megaco/src/flex/megaco_flex_scanner_drv.flex.src index 9b4f717201..b8146c345d 100644 --- a/lib/megaco/src/flex/megaco_flex_scanner_drv.flex.src +++ b/lib/megaco/src/flex/megaco_flex_scanner_drv.flex.src @@ -1,7 +1,7 @@ /* * %CopyrightBegin% * - * Copyright Ericsson AB 2001-2010. All Rights Reserved. + * Copyright Ericsson AB 2001-2011. All Rights Reserved. * * The contents of this file are subject to the Erlang Public License, * Version 1.1, (the "License"); you may not use this file except in @@ -60,18 +60,11 @@ #define NUL 0x0 #if defined(MEGACO_REENTRANT_FLEX_SCANNER) - #define MEGACO_EXTENDED_MARKER ERL_DRV_EXTENDED_MARKER - #define MEGACO_DRIVER_FLAGS ERL_DRV_FLAG_USE_PORT_LOCKING - #define MEGACO_EXTENDED_MAJOR_VERSION ERL_DRV_EXTENDED_MAJOR_VERSION - #define MEGACO_EXTENDED_MINOR_VERSION ERL_DRV_EXTENDED_MINOR_VERSION -#else - #define MEGACO_EXTENDED_MARKER 0 - #define MEGACO_DRIVER_FLAGS 0 - #define MEGACO_EXTENDED_MAJOR_VERSION 0 - #define MEGACO_EXTENDED_MINOR_VERSION 0 +# define MEGACO_DRIVER_FLAGS ERL_DRV_FLAG_USE_PORT_LOCKING +#else +# define MEGACO_DRIVER_FLAGS 0 #endif - #define FREE(bufP) driver_free(bufP) #define ALLOC(sz) driver_alloc(sz) #define REALLOC(bufP, sz) driver_realloc(bufP, sz) @@ -320,11 +313,11 @@ static void mfs_load_map_token(); static ErlDrvData mfs_start(ErlDrvPort port, char *buf); static void mfs_stop(ErlDrvData handle); static void mfs_command(ErlDrvData handle, - char *buf, int buf_len); -static int mfs_control(ErlDrvData handle, + char *buf, ErlDrvSizeT buf_len); +static ErlDrvSSizeT mfs_control(ErlDrvData handle, unsigned int command, - char *buf, int buf_len, - char **res_buf, int res_buf_len); + char *buf, ErlDrvSizeT buf_len, + char **res_buf, ErlDrvSizeT res_buf_len); static void mfs_finish(void); /* @@ -348,10 +341,10 @@ static ErlDrvEntry mfs_entry = { NULL, /* flush, port is about to be closed */ NULL, /* call, a syncronous call into the driver */ NULL, /* event, event selected by driver_event() has occurred */ - MEGACO_EXTENDED_MARKER, /* extended_marker, which we use if reentrant */ - MEGACO_EXTENDED_MAJOR_VERSION, /* major_version, ... */ - MEGACO_EXTENDED_MINOR_VERSION, /* minor_version, ... */ - MEGACO_DRIVER_FLAGS, /* driver_flags, used for port lock indication */ + ERL_DRV_EXTENDED_MARKER, + ERL_DRV_EXTENDED_MAJOR_VERSION, + ERL_DRV_EXTENDED_MINOR_VERSION, + MEGACO_DRIVER_FLAGS, /* driver_flags, used for port lock indication */ NULL, /* handle2, emulator internal use */ NULL /* process_exit, Called when a process monitor fires */ }; @@ -1685,17 +1678,17 @@ static void mfs_stop(ErlDrvData handle) } static void mfs_command(ErlDrvData handle, - char *buf, int buf_len) + char *buf, ErlDrvSizeT buf_len) { driver_failure_atom(((MfsErlDrvData*) handle)->port, "bad_usage"); return; } -static int mfs_control(ErlDrvData handle, +static ErlDrvSSizeT mfs_control(ErlDrvData handle, unsigned int command, - char *buf, int buf_len, - char **res_buf, int res_buf_len) + char *buf, ErlDrvSizeT buf_len, + char **res_buf, ErlDrvSizeT res_buf_len) { MfsErlDrvData* dataP = (MfsErlDrvData*) handle; char* tmp; diff --git a/lib/megaco/test/megaco_codec_v2_test.erl b/lib/megaco/test/megaco_codec_v2_test.erl index 1d3fcb36e9..a44f74166c 100644 --- a/lib/megaco/test/megaco_codec_v2_test.erl +++ b/lib/megaco/test/megaco_codec_v2_test.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2003-2010. All Rights Reserved. +%% Copyright Ericsson AB 2003-2011. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in diff --git a/lib/megaco/test/megaco_mess_test.erl b/lib/megaco/test/megaco_mess_test.erl index 383e3df774..663ac8c329 100644 --- a/lib/megaco/test/megaco_mess_test.erl +++ b/lib/megaco/test/megaco_mess_test.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1999-2010. All Rights Reserved. +%% Copyright Ericsson AB 1999-2012. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -324,9 +324,6 @@ min(M) -> timer:minutes(M). %% Test server callbacks -% init_per_testcase(pending_ack = Case, Config) -> -% put(dbg,true), -% megaco_test_lib:init_per_testcase(Case, Config); init_per_testcase(otp_7189 = Case, Config) -> C = lists:keydelete(tc_timeout, 1, Config), megaco_test_lib:init_per_testcase(Case, [{tc_timeout, min(2)} |C]); @@ -337,9 +334,6 @@ init_per_testcase(Case, Config) -> C = lists:keydelete(tc_timeout, 1, Config), megaco_test_lib:init_per_testcase(Case, [{tc_timeout, min(1)} |C]). -% end_per_testcase(pending_ack = Case, Config) -> -% erase(dbg), -% megaco_test_lib:end_per_testcase(Case, Config); end_per_testcase(Case, Config) -> megaco_test_lib:end_per_testcase(Case, Config). @@ -434,6 +428,7 @@ connect(suite) -> connect(doc) -> []; connect(Config) when is_list(Config) -> + %% ?SKIP("Needs a re-write..."), ?ACQUIRE_NODES(1, Config), PrelMid = preliminary_mid, MgMid = ipv4_mid(4711), @@ -456,9 +451,29 @@ connect(Config) when is_list(Config) -> ?VERIFY(bad_send_mod, megaco:user_info(MgMid, send_mod)), ?VERIFY(bad_send_mod, megaco:conn_info(PrelCH, send_mod)), SC = service_change_request(), - ?VERIFY({1, {error, {send_message_failed, {'EXIT', - {undef, [{bad_send_mod, send_message, [sh, _]} | _]}}}}}, - megaco:call(PrelCH, [SC], [])), + case megaco:call(PrelCH, [SC], []) of + {_Version, + {error, + {send_message_failed, + {'EXIT', {undef, [{bad_send_mod, send_message, [sh, _]} | _]}}}} + } -> + %% R14B and previous + ?LOG("expected send failure (1)", []), + ok; + + %% As of R15, we also get some extra info (e.g. line numbers) + {_Version, + {error, + {send_message_failed, + {'EXIT', {undef, [{bad_send_mod, send_message, [sh, _], _} | _]}}}} + } -> + %% R15B and later + ?LOG("expected send failure (2)", []), + ok; + + Unexpected -> + ?ERROR(Unexpected) + end, ?VERIFY(ok, megaco:disconnect(PrelCH, shutdown)), diff --git a/lib/megaco/test/megaco_profile.erl b/lib/megaco/test/megaco_profile.erl index 344c551970..fd72604e92 100644 --- a/lib/megaco/test/megaco_profile.erl +++ b/lib/megaco/test/megaco_profile.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2008-2009. All Rights Reserved. +%% Copyright Ericsson AB 2008-2011. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in diff --git a/lib/megaco/vsn.mk b/lib/megaco/vsn.mk index 35acffcb64..11a951a23e 100644 --- a/lib/megaco/vsn.mk +++ b/lib/megaco/vsn.mk @@ -2,7 +2,7 @@ # %CopyrightBegin% # -# Copyright Ericsson AB 1997-2011. All Rights Reserved. +# Copyright Ericsson AB 1997-2012. All Rights Reserved. # # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in @@ -18,6 +18,6 @@ # %CopyrightEnd% APPLICATION = megaco -MEGACO_VSN = 3.15.1.2 +MEGACO_VSN = 3.16.0.1 PRE_VSN = APP_VSN = "$(APPLICATION)-$(MEGACO_VSN)$(PRE_VSN)" |