aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2010-06-01OTP-8662 Fix ethr_rwmutex_tryrlockRickard Green
ethr_rwmutex_tryrlock() acquired and refused to acquire a lock with inverted logic. The lock was however never acquired in a thread unsafe manner. (Thanks to JR Zhang for noting this issue)
2010-06-01OTP-8661 Enable writer preferred pthread read/write locks on LinuxRickard Green
Writer preferred pthread read/write locks has been enabled on Linux.
2010-06-01OTP-8660 Increase atomic fallback locksRickard Green
The number of spinlocks used when implementing atomic fall-backs when no native atomic implementation is available has been increased from 16 to 1024.
2010-06-01OTP-8612 Fix potential premature destruction of port locksRickard Green
Port locks could be prematurely destroyed.
2010-06-01OTP-8659 Add ethread support for gcc atomicsRickard Green
Support for using gcc's built-in functions for atomic memory access has been added. This functionallity will be used if available and no other native atomic implementation in ERTS is available.
2010-06-01OTP-8658 Add missing memory barriers in erts_poll()Rickard Green
Missing memory barriers in erts_poll() could cause the runtime system to hang indefinitely.
2010-06-01Merge branch 'bg/remove-stray-sae-support' into devErlang/OTP
* bg/remove-stray-sae-support: Remove unsupported erlang:blocking_read_file/1 Remove stray SAE support
2010-06-01Merge branch 'bg/dist_utils' into devErlang/OTP
* bg/dist_utils: dist_utils: Eliminate crash when list_to_existing_atom/1 fails
2010-06-01Remove unsupported erlang:blocking_read_file/1Björn Gustavsson
This BIF was only used by the now broken SAE support.
2010-06-01Remove stray SAE supportBjörn Gustavsson
The experimental Standalone Erlang (SAE) support based on Joe Armstrong's work has long been broken. Remove the remaining code and Makefile rules.
2010-06-01dist_utils: Eliminate crash when list_to_existing_atom/1 failsBjörn Gustavsson
In the following scenario list_to_existing_atom/1 may crash during handshake: Start a node in one window: erl -sname adam@localhost Start another node in another window: erl -sname bertil In this node, ping the first node (use the actual hostname in the command): net:ping(adam@hostname). There will be an error report similar to: =ERROR REPORT==== 27-May-2010::15:03:14 === Error in process <0.40.0> on node 'bertil@hostname' with exit value: {badarg,[{erlang,list_to_existing_atom, ["adam@localhost"]},{dist_util,recv_challenge,1},{dist_util,handshake_we_started,1}]} Eliminate the crash and the error report by catching the call to list_to_existing_atom/1 and do a clean shutdown if it fails.
2010-06-01Added workaround for tcp delivery problemIngela Anderton Andin
2010-06-01OTP-8649 dg/public_key-test-coverageRaimo Niskanen
2010-05-31OTP-8657 New Erlang scanner tokens: '..' and '...'Hans Bolinder
The Erlang scanner has been augmented with two new tokens: .. and ....
2010-05-31OTP-8653 pg2: bug fixHans Bolinder
When exchanging groups between nodes pg2 did not remove duplicated members. This bug was introduced in R13B03 (kernel-2.13.4).
2010-05-28Merge branch 'sv/format_status-name-handling' into devErlang/OTP
* sv/format_status-name-handling: handle {global, term()} names in format_status/2 OTP-8656 sv/format_status-name-handling Calling sys:get_status() for processes that have globally registered names that were not atoms would cause a crash. Corrected. (Thanks to Steve Vinoski.)
2010-05-28Merge branch 'ks/cleanup-leex' into devErlang/OTP
* ks/cleanup-leex: leex: Clean up as suggested by tidier OTP-8655 ks/cleanup-leex
2010-05-28Merge branch 'sv/socket-error-portability' into devErlang/OTP
* sv/socket-error-portability: inet_drv.c: Remove red herring use macro to portably test for socket system call errors OTP-8654 sv/socket-error-portability On some combination of Montavista Linux on Cavium Octeon processors, some socket-related system calls returned other numbers than -1 for errors. This caused a core dump in inet_drv.c. Now the code works around this problem.
2010-05-28odbc: Relese test suitesIngela Anderton Andin
2010-05-28Cleaned codeIngela Anderton Andin
2010-05-28OTP-8647 Xref adds calls to operators when {builtins,true}Hans Bolinder
When given the option {builtins,true} Xref now adds calls to operators.
2010-05-28Hoops too quick to check in previous version, changed . to ;, compiled inIngela Anderton Andin
wrong shell!
2010-05-28Added misssing version check for client.Ingela Anderton Andin
2010-05-28Added missing padding check.Ingela Anderton Andin
2010-05-28Added missing Mac check.Ingela Anderton Andin
2010-05-28Added code to handle own alert in case MAC or padding check fails.Ingela Anderton Andin
2010-05-27OTP-8609: Problems processing netscape cookies - expireMicael Karlberg
OTP-8610: Problem processing netscape cookies - date OTP-8624: Documented debug options not handled
2010-05-27handle {global, term()} names in format_status/2Steve Vinoski
The gen_fsm, gen_server, and wx_object format_status implementations fail to handle global names of the form {global, term()} where term() is something other than an atom, pid, or list. Change these format_status implementations to treat names that are atoms, pids, or lists as before, but for all other terms, set the header property of the function return value to a tuple whose first element is a string describing the return value and whose second element is the name term. Add unit tests for gen_server and gen_fsm to verify sys:get_status calls work successfully for globally registered instances.
2010-05-27OTP-8609: Problems processing netscape cookies - expireMicael Karlberg
OTP-8610: Problem processing netscape cookies - date OTP-8624: Documented debug options not handled
2010-05-27OTP-8609: Made cookie handling more case insensitive.Micael Karlberg
OTP-8610: Some netscape cookie dates are given with a 2-digit year.
2010-05-27Merge branch 'se/spawn_drv_win_deadlock' into devErlang/OTP
* se/spawn_drv_win_deadlock: Fix deadlock in spawn driver on windows OTP-8641 se/spawn_drv_win_deadlock Windows: Closing port of program that stalled without reading all data could deadlock scheduler thread.
2010-05-27Merge branch 'ta/extend-nif-api' into devErlang/OTP
* ta/extend-nif-api: erl_nif: add make_atom_len, make_existing_atom_len and make_string_len erl_nif: add enif_get_atom_length and enif_get_list_length erl_nif: add enif_is_list and enif_is_tuple OTP-8640 ta/extend-nif-api New NIF API functions: enif_make_atom_len, enif_make_existing_atom_len, enif_make_string_len, enif_get_atom_length, enif_get_list_length, enif_is_list, enif_is_tuple (by Tuncer Ayaz)
2010-05-27leex: Clean up as suggested by tidierKostis Sagonas
2010-05-27inet_drv.c: Remove red herringBjörn Gustavsson
Remove redundant "!defined(__WIN32__)". It is used inside the #else branch of a "#ifdef __WIN32__", so it serves no useful purpose except to fool unsuspecting readers.
2010-05-27use macro to portably test for socket system call errorsSteve Vinoski
On some combinations of Montavista Linux running on Cavium Octeon chips, some socket-related system calls erroneously return negative numbers other than -1 to indicate errors, but inet_drv.c specifically compares against -1 to test for errors. The result is that beam dumps core due to the code treating these negative numbers as success indicators, as counts/offsets of bytes written, etc. thereby corrupting its own internal data structures. To fix this, introduce a portability macro to test the result of socket system calls. The test remains unchanged on Windows but for other platforms the macro considers all return values that are less than zero to be errors. Though POSIX specifies that errors from these system calls are indicated by a return value of -1, treating all negative return values as errors is also safe, as described in detail below. In networking programming, treating all negative return values from system calls as errors is very common practice -- see the examples in W. Richard Stevens's popular and highly lauded network programming books, for example. For system calls that return 0 to indicate success, treating all negative numbers as errors is safe because only 0 is specified to indicate success. These include: getsockname getpeername getsockopt gethostname bind listen connect close shutdown Likewise, for system calls that return non-negative numbers to indicate success, treating all negative numbers as errors is also safe. These functions typically return signed integers of type ssize_t, and they treat any parameters of type size_t that cannot fit within the ssize_t return value, such as numbers of bytes to read or write, as errors (specifically EINVAL). For example, in the "ERRORS" section of the man page for writev from several varieties of Linux, it states that EINVAL is returned when the total length of the I/O is more than can be expressed by the ssize_t return value. These calls include: recv recvfrom recvmsg writev send sendto sendmsg Finaly, the socket() system call is also similar to these in that it returns a signed type (int) with all non-negative return values indicating success, so treating all negative return values as errors is safe.
2010-05-27Moved nodelay workaround for linux, as it seems to only work if you doIngela Anderton Andin
it before sending the fatal alert, even though documentation suggests the socket will be flushed on linux as an effect of setting the nodelay option.
2010-05-27OTP-8563: Decode/Encode of Counter64 errorMicael Karlberg
OTP-8574: Option to allow invalid row OIDs OTP-8594: Make snmp forward compatible with new crypto OTP-8595: snmpc fails to compile BITS with "holes" OTP-8646: Agent-info lookup raise condition OTP-8648: MIB server cache gc changed to on by default
2010-05-27Cleanup branch 'bg/compiler-cover-and-clean'Kostis Sagonas
Commit 329f737c03db51918361e127560a6f700e99028e removed some unused code, but also introduced the need for further clean-ups. Fix a spec so that its return corresponds to reality. Take out code that will never match from a function.
2010-05-26OTP-8649 change in public_key apiIngela Anderton Andin
2010-05-26Preparing for new version.Niclas Eklund
2010-05-26Fix race condition when an other connection is started before a channel is ↵Niclas Eklund
opened in the first connection.
2010-05-26Aligning error message with used versionNiclas Eklund
2010-05-26Test ssl_session_cache_api.Ingela Anderton Andin
2010-05-26Seems we need "nodelay socket flush" on some linux platforms after all.Ingela Anderton Andin
2010-05-26Avoid apparently timing issus when closing down opensslIngela Anderton Andin
2010-05-26Added option list argument to the init function in ssl_session_cache_api.Ingela Anderton Andin
2010-05-26Merge branch 'mh/escript-erlang-mode' into devErlang/OTP
* mh/escript-erlang-mode: Associate files using interpreter "escript" with Erlang mode
2010-05-26Merge branch 'cb/emacs-eunit-run-current-test' into devErlang/OTP
* cb/emacs-eunit-run-current-test: Add Emacs EUnit utility feature: run current test function.
2010-05-26Merge branch 'mh/fix-record-indentation' into devErlang/OTP
* mh/fix-record-indentation: Fix indentation of records with line breaks inside lists
2010-05-26Merge branch 'mh/inferior-erlang-cmd-uniq' into devErlang/OTP
* mh/inferior-erlang-cmd-uniq: inferior-erlang: specify command to run, uniquify buffer names