diff options
Diffstat (limited to 'lib/erl_interface')
-rw-r--r-- | lib/erl_interface/aclocal.m4 | 10 | ||||
-rw-r--r-- | lib/erl_interface/configure.in | 10 | ||||
-rw-r--r-- | lib/erl_interface/doc/src/notes.xml | 18 | ||||
-rw-r--r-- | lib/erl_interface/src/connect/ei_resolve.c | 8 | ||||
-rw-r--r-- | lib/erl_interface/test/ei_decode_SUITE.erl | 9 | ||||
-rw-r--r-- | lib/erl_interface/test/ei_encode_SUITE.erl | 13 | ||||
-rw-r--r-- | lib/erl_interface/test/ei_print_SUITE.erl | 4 | ||||
-rw-r--r-- | lib/erl_interface/vsn.mk | 2 |
8 files changed, 54 insertions, 20 deletions
diff --git a/lib/erl_interface/aclocal.m4 b/lib/erl_interface/aclocal.m4 index b1cf1fe404..9578cd35c4 100644 --- a/lib/erl_interface/aclocal.m4 +++ b/lib/erl_interface/aclocal.m4 @@ -740,11 +740,16 @@ dnl Try to find POSIX threads dnl The usual pthread lib... AC_CHECK_LIB(pthread, pthread_create, THR_LIBS="-lpthread") -dnl FreeBSD has pthreads in special c library, c_r... +dnl Very old versions of FreeBSD have pthreads in special c library, c_r... if test "x$THR_LIBS" = "x"; then AC_CHECK_LIB(c_r, pthread_create, THR_LIBS="-lc_r") fi +dnl QNX has pthreads in standard C library + if test "x$THR_LIBS" = "x"; then + AC_CHECK_FUNC(pthread_create, THR_LIBS="none_needed") + fi + dnl On ofs1 the '-pthread' switch should be used if test "x$THR_LIBS" = "x"; then AC_MSG_CHECKING([if the '-pthread' switch can be used]) @@ -765,6 +770,9 @@ dnl On ofs1 the '-pthread' switch should be used if test "x$THR_LIBS" != "x"; then THR_DEFS="$THR_DEFS -D_THREAD_SAFE -D_REENTRANT -DPOSIX_THREADS" THR_LIB_NAME=pthread + if test "x$THR_LIBS" = "xnone_needed"; then + THR_LIBS= + fi case $host_os in solaris*) THR_DEFS="$THR_DEFS -D_POSIX_PTHREAD_SEMANTICS" ;; diff --git a/lib/erl_interface/configure.in b/lib/erl_interface/configure.in index c958f80065..97f1cff345 100644 --- a/lib/erl_interface/configure.in +++ b/lib/erl_interface/configure.in @@ -1,7 +1,7 @@ # -*- Autoconf -*- # %CopyrightBegin% # -# Copyright Ericsson AB 2000-2011. All Rights Reserved. +# Copyright Ericsson AB 2000-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 @@ -79,7 +79,7 @@ AC_ARG_ENABLE(threads, no) threads_disabled=yes ;; *) threads_disabled=no ;; esac ], -[ threads_disabled=no ]) +[ threads_disabled=maybe ]) dnl ---------------------------------------------------------------------- dnl Checks for programs @@ -237,12 +237,16 @@ AC_SUBST(THR_DEFS) AC_SUBST(EI_THREADS) case "$threads_disabled" in - no) + no|maybe) LM_CHECK_THR_LIB case "$THR_LIB_NAME" in "") EI_THREADS="false" + # Fail if --enable-threads given and no threads found + if test "x$threads_disabled" = "xno"; then + AC_MSG_ERROR(No threads support found) + fi ;; win32_threads) EI_THREADS="true" diff --git a/lib/erl_interface/doc/src/notes.xml b/lib/erl_interface/doc/src/notes.xml index 6791c39c7d..f0a9b336ff 100644 --- a/lib/erl_interface/doc/src/notes.xml +++ b/lib/erl_interface/doc/src/notes.xml @@ -30,6 +30,24 @@ </header> <p>This document describes the changes made to the Erl_interface application.</p> +<section><title>Erl_Interface 3.7.9</title> + + <section><title>Improvements and New Features</title> + <list> + <item> + <p>Teach lib/erl_interface/configure.in to look for + pthreads support in libc (where it can be found on + QNX)</p> <p>A minor tweak such that this configure + *fails* if you pass --enable-threads and no pthreads + support can be found.</p> (Thanks to Per Hedeland) + <p> + Own Id: OTP-10581</p> + </item> + </list> + </section> + +</section> + <section><title>Erl_Interface 3.7.8</title> <section><title>Improvements and New Features</title> diff --git a/lib/erl_interface/src/connect/ei_resolve.c b/lib/erl_interface/src/connect/ei_resolve.c index ba8f8fbce3..79d259b92d 100644 --- a/lib/erl_interface/src/connect/ei_resolve.c +++ b/lib/erl_interface/src/connect/ei_resolve.c @@ -186,11 +186,11 @@ static int verify_dns_configuration(void) * advance: increment buf by n bytes, reduce len by same amount . */ #if defined SIZEOF_VOID_P -#define ALIGNBYTES (SIZEOF_VOID_P - 1) +#define EI_ALIGNBYTES (SIZEOF_VOID_P - 1) #else -#define ALIGNBYTES (sizeof(void*) - 1) +#define EI_ALIGNBYTES (sizeof(void*) - 1) #endif -#define align_buf(buf,len) for (;(((unsigned)buf) & ALIGNBYTES); (buf)++, len--) +#define align_buf(buf,len) for (;(((unsigned)buf) & EI_ALIGNBYTES); (buf)++, len--) #define advance_buf(buf,len,n) ((buf)+=(n),(len)-=(n)) /* "and now the tricky part..." */ @@ -282,6 +282,8 @@ static int copy_hostent(struct hostent *dest, const struct hostent *src, char *b return 0; } +#undef EI_ALIGNBYTES + /* This function is a pseudo-reentrant version of gethostbyname(). It * uses locks to serialize the call to the regular (non-reentrant) * gethostbyname() and then copies the data into the user-provided diff --git a/lib/erl_interface/test/ei_decode_SUITE.erl b/lib/erl_interface/test/ei_decode_SUITE.erl index bb44b78854..2c4b6e5541 100644 --- a/lib/erl_interface/test/ei_decode_SUITE.erl +++ b/lib/erl_interface/test/ei_decode_SUITE.erl @@ -1,7 +1,8 @@ +%% -*- coding: utf-8 -*- %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2004-2011. All Rights Reserved. +%% Copyright Ericsson AB 2004-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 @@ -204,15 +205,15 @@ test_ei_decode_misc(Config) when is_list(Config) -> ?line send_term_as_binary(P,foo), ?line send_term_as_binary(P,''), - ?line send_term_as_binary(P,'������'), + ?line send_term_as_binary(P,'ÅÄÖåäö'), ?line send_term_as_binary(P,"foo"), ?line send_term_as_binary(P,""), - ?line send_term_as_binary(P,"������"), + ?line send_term_as_binary(P,"ÅÄÖåäö"), ?line send_term_as_binary(P,<<"foo">>), ?line send_term_as_binary(P,<<>>), - ?line send_term_as_binary(P,<<"������">>), + ?line send_term_as_binary(P,<<"ÅÄÖåäö">>), % ?line send_term_as_binary(P,{}), % ?line send_term_as_binary(P,[]), diff --git a/lib/erl_interface/test/ei_encode_SUITE.erl b/lib/erl_interface/test/ei_encode_SUITE.erl index cefd33e5f6..537e9cb01c 100644 --- a/lib/erl_interface/test/ei_encode_SUITE.erl +++ b/lib/erl_interface/test/ei_encode_SUITE.erl @@ -1,7 +1,8 @@ +%% -*- coding: utf-8 -*- %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2004-2011. All Rights Reserved. +%% Copyright Ericsson AB 2004-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 @@ -213,19 +214,19 @@ test_ei_encode_misc(Config) when is_list(Config) -> ?line {<<100,0,3,"foo">>,foo} = get_buf_and_term(P), ?line {<<100,0,0,"">>,''} = get_buf_and_term(P), ?line {<<100,0,0,"">>,''} = get_buf_and_term(P), - ?line {<<100,0,6,"������">>,'������'} = get_buf_and_term(P), - ?line {<<100,0,6,"������">>,'������'} = get_buf_and_term(P), + ?line {<<100,0,6,"ÅÄÖåäö">>,'ÅÄÖåäö'} = get_buf_and_term(P), + ?line {<<100,0,6,"ÅÄÖåäö">>,'ÅÄÖåäö'} = get_buf_and_term(P), ?line {<<107,0,3,"foo">>,"foo"} = get_buf_and_term(P), ?line {<<107,0,3,"foo">>,"foo"} = get_buf_and_term(P), ?line {<<106>>,""} = get_buf_and_term(P), ?line {<<106>>,""} = get_buf_and_term(P), - ?line {<<107,0,6,"������">>,"������"} = get_buf_and_term(P), - ?line {<<107,0,6,"������">>,"������"} = get_buf_and_term(P), + ?line {<<107,0,6,"ÅÄÖåäö">>,"ÅÄÖåäö"} = get_buf_and_term(P), + ?line {<<107,0,6,"ÅÄÖåäö">>,"ÅÄÖåäö"} = get_buf_and_term(P), ?line {<<109,0,0,0,3,"foo">>,<<"foo">>} = get_buf_and_term(P), ?line {<<109,0,0,0,0,"">>,<<>>} = get_buf_and_term(P), - ?line {<<109,0,0,0,6,"������">>,<<"������">>} = get_buf_and_term(P), + ?line {<<109,0,0,0,6,"ÅÄÖåäö">>,<<"ÅÄÖåäö">>} = get_buf_and_term(P), ?line {<<104,0>>,{}} = get_buf_and_term(P), % Tuple header for {} ?line {<<106>>,[]} = get_buf_and_term(P), % Empty list [] diff --git a/lib/erl_interface/test/ei_print_SUITE.erl b/lib/erl_interface/test/ei_print_SUITE.erl index 2a3ed81f53..6305302e28 100644 --- a/lib/erl_interface/test/ei_print_SUITE.erl +++ b/lib/erl_interface/test/ei_print_SUITE.erl @@ -1,7 +1,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 @@ -136,7 +136,7 @@ lists(Config) when is_list(Config) -> %% ?line {term, "[{name, 'Madonna'}, {age, 21}, {data, [{addr, "E-street", 42}]}]"} = %% get_term(P), - %% kanske regexp i st�llet? + %% maybe regexp instead? ?line {term, "[{pi, 3.141500}, {'cos(70)', 0.342020}]"} = get_term(P), ?line {term, "[[pi, 3.141500], ['cos(70)', 0.342020]]"} = get_term(P), diff --git a/lib/erl_interface/vsn.mk b/lib/erl_interface/vsn.mk index 4e401c874e..1718f38069 100644 --- a/lib/erl_interface/vsn.mk +++ b/lib/erl_interface/vsn.mk @@ -1 +1 @@ -EI_VSN = 3.7.8 +EI_VSN = 3.7.9 |