aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2013-01-25Merge branch 'sa/dialyzer-unknown-arity-funs/OTP-10772'Fredrik Gustafsson
* sa/dialyzer-unknown-arity-funs/OTP-10772: Update one more unused funs result as per ffe582b Remove pubsub and comm_layer tests from testsuite Properly support functions with arbitrary arity in type specs. Conflicts: lib/hipe/cerl/erl_types.erl
2013-01-25ssh: Fix dialyzer and doc warningsIngela Anderton Andin
2013-01-25Merge branch 'ia/public_key/PKCS-10-usage-of-PKCS-9'Ingela Anderton Andin
* ia/public_key/PKCS-10-usage-of-PKCS-9: public_key: Include some PKCS-9 support needed by PKCS-10
2013-01-24Update documentationPeter Andersson
OTP-9881
2013-01-24Fix syntax highlighting of $\' in Emacs modeMagnus Henoch
The single quote in $\' does not begin an atom. Change the regexp to treat it just like $\". Previously this code would be incorrectly highlighted: foo() -> Quote = $\', %% This gets coloured as an atom, not as a comment ...
2013-01-24ic: Making tests pass after changes in erl_interface and jinterfaceSverker Eriksson
Note that all these changes was needed due to violations of the APIs in erl_interface and jinterface. One might of course argue that these violations was made due to shortages in erl_interface and jinterface.
2013-01-24ic: Revert --enable-silent-rules for test MakefileSverker Eriksson
Seems like this Makefile.src was included by mistake in fed9a8415fc77ed42bf9a94ea421eff4f62c5eb4
2013-01-24Merge branch 'kp/odbc-oracle-autocommit-fix/OTP-10735'Fredrik Gustafsson
* kp/odbc-oracle-autocommit-fix/OTP-10735: Fix aotocommit for Oracle ODBC driver in Linux.
2013-01-24Merge branch 'bjorn/kernel/undefined-function-handler/OTP-10617'Björn Gustavsson
* bjorn/kernel/undefined-function-handler/OTP-10617: Add a warning to discourage abuse of $handle_undefined_function/2
2013-01-24Merge branch 'bjorn/warnings-zero-tolerance'Björn Gustavsson
* bjorn/warnings-zero-tolerance: Turn warnings to errors on selected applications runtime_tools_sup: Eliminate warning inet_parse: Eliminate a compiler warning
2013-01-24Don't export encode_disp/2 and decode_disp/2 in generated modulesBjörn Gustavsson
Those functions were exported for no good reason.
2013-01-24Remove vestiges of support for the {TypeName,Value} notationBjörn Gustavsson
Support in BER was removed in 3d1279f3cebfdd2483c3afea9f225613fe45cd00.
2013-01-24Add tests and correct errorsPeter Andersson
OTP-9881
2013-01-24Update CT MasterPeter Andersson
OTP-9881
2013-01-24Implement support for including test specificationsPeter Andersson
OTP-9881
2013-01-24Make it possible to execute one test run per test specificationPeter Andersson
OTP-9881
2013-01-23ssl: Enhance dialyzer specsKostis Sagonas
2013-01-23ssl: Do not return random valuesKostis Sagonas
2013-01-23ssl: M-x erlang-indent-bufferIngela Anderton Andin
2013-01-23ssl: Remove unnecessary construction of a return valueKostis Sagonas
2013-01-23Merge branch 'sverk/r16/utf8-atoms'Sverker Eriksson
* sverk/r16/utf8-atoms: erl_interface: Fix bug when transcoding atoms from and to UTF8 erl_interface: Changed erlang_char_encoding interface erts: Testcase doing unicode atom printout with ~w erl_interface: even more utf8 atom stuff erts: Fix bug in analyze_utf8 causing faulty latin1 detection Add UTF-8 node name support for epmd workaround... Fix merge conflict with hasse UTF-8 atom documentation test case erl_interface: utf8 atoms continued Add utf8 atom distribution test cases atom fixes for NIFs and atom_to_binary UTF-8 support for distribution Implement UTF-8 atom support for jinterface erl_interface: Enable decode of unicode atoms stdlib: Fix printing of unicode atoms erts: Change internal representation of atoms to utf8 erts: Refactor rename DFLAG(S)_INTERNAL_TAGS for conformity Conflicts: erts/emulator/beam/io.c OTP-10753
2013-01-23Merge branch 'sal/float_to_list_2/OTP-10752'Björn-Egil Dahlberg
* sal/float_to_list_2/OTP-10752: Text representation of a float formatted using given options.
2013-01-23vsn -> 1.4Anders Svensson
2013-01-23Update appupAnders Svensson
2013-01-23Spec fixAnders Svensson
2013-01-23Test makefile tweakAnders Svensson
2013-01-23Warn about applications/capabilities mismatches in docAnders Svensson
2013-01-23Minor documentation fixesAnders Svensson
2013-01-23Remove upgrade code not needed at a major releaseAnders Svensson
2013-01-23Comment fixAnders Svensson
2013-01-23Add patch target to makefileAnders Svensson
For building unofficial patches.
2013-01-23Merge branch 'anders/diameter/registered/OTP-10442'Anders Svensson
* anders/diameter/registered/OTP-10442: Add registered server names to app file
2013-01-23erts,stdlib: Increase number of locks for write_concurrencySverker Eriksson
2013-01-23Merge branch 'siri/common_test/minor_test_fixes/OTP-10483'Siri Hansen
* siri/common_test/minor_test_fixes/OTP-10483: [common_test] Extend timetrap time in ct_hooks_SUITE [common_test] Avoid hanging ct@host node if crypto does not exist [common_test] Changed call to publick_key to use documented interface [common_test] Extend timeout values for slave nodes in ct_master_SUITE [common_test] Extend valid interval for approximate timer values in tests
2013-01-23erl_interface: Fix bug when transcoding atoms from and to UTF8Lukas Larsson
2013-01-23erl_interface: Changed erlang_char_encoding interfaceSverker Eriksson
to allow bitwise-or'd combinations.
2013-01-23Add testcase for oct countersPatrik Nyblom
2013-01-23Fix efile_drv crash when using async thread poolFilipe David Borba Manana
When using the async thread pool and compressed files, when an efile driver port instance is shutdown, the efile_drv stop callback closes the file descriptor (a gzFile instance actually) - this is dangerous if at the same time there's an async thread performing an operation against the file, for example calling invoke_read(), which can result in a segmentation fault, or calling invoke_close() which double closes the gzFile and this in turn causes 2 consecutive calls to driver_free() against same gzFile instance (resulting in later unexpected crashes in erl_bestfit_alloc.c for example). The following test program makes the emulator crash when using the async thread pool: -module(t2). -export([t/1]). t(N) -> file:delete("foo.bar"), % Use of 'compressed' option, for creating/writing the file, % is irrelevant. It only matters when opening it later for % reads - a non-compressed file open with the 'compressed' % option goes through an internal gzFile handle (instead of % a plain integer fd), just like a compressed file. %{ok, Fd} = file:open("foo.bar", [raw, write, binary]), {ok, Fd} = file:open("foo.bar", [raw, write, binary, compressed]), ok = file:write(Fd, <<"qwerty">>), ok = file:close(Fd), Pid = spawn_link(fun() -> process_flag(trap_exit, true), loop(N) end), Ref = erlang:monitor(process, Pid), receive {'DOWN', Ref, _, _, _} -> ok end. loop(0) -> ok; loop(N) -> Server = self(), Pid = spawn(fun() -> {ok, Fd} = file:open("foo.bar", [read, raw, binary, compressed]), Server ! continue, % Comment the file:read/2 call to make the file:close/1 call much % more likely to crash or end up causing efile_drv to close twice % the fd (gzFile), which will make the emulator crash later in the % best fit allocator (erl_bestfit_alloc.c). _ = file:read(Fd, 5), file:close(Fd) end), receive continue -> ok end, exit(Pid, shutdown), loop(N - 1). Running this test when using the async thread pool: shell> erl +A 4 Erlang R15B03 (erts-5.9.3.1) [source] [64-bit] [smp:4:4] [async-threads:4] [hipe] [kernel-poll:false] Eshell V5.9.3.1 (abort with ^G) 1> c(t2). {ok,t2} 2> t2:t(500000). Segmentation fault (core dumped) When not using the async thread pool, there are no issues: shell> erl Erlang R15B03 (erts-5.9.3.1) [source] [64-bit] [smp:4:4] [async-threads:0] [hipe] [kernel-poll:false] Eshell V5.9.3.1 (abort with ^G) 1> c(t2). {ok,t2} 2> t2:t(500000). ok 3> An example stack trace when the crash happens because there's an ongoing read operation is: Thread 1 (Thread 0x7f021cf2c700 (LWP 10687)): #0 updatewindow (strm=0x2691bf8, out=5) at zlib/inflate.c:338 #1 0x00000000005a2ba0 in inflate (strm=0x2691bf8, flush=0) at zlib/inflate.c:1141 #2 0x000000000055c46a in erts_gzread (file=0x2691bf8, buf=0x7f0215b29e80, len=5) at drivers/common/gzio.c:523 #3 0x00000000005849ef in invoke_read (data=0x26b2228) at drivers/common/efile_drv.c:1114 #4 0x000000000050adcb in async_main (arg=0x7f021bf5cf40) at beam/erl_async.c:488 #5 0x00000000005c21a0 in thr_wrapper (vtwd=0x7fff69c6ff10) at pthread/ethread.c:106 #6 0x00007f021c573e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #7 0x00007f021c097cbd in clone () from /lib/x86_64-linux-gnu/libc.so.6 #8 0x0000000000000000 in ?? () And when there's an ongoing close operation when the driver is stopped: Thread 1 (Thread 0x7fe5f5654700 (LWP 747)): #0 0x0000000000459b64 in bf_unlink_free_block (block=0x10b2a70, allctr=<optimized out>, flags=<optimized out>) at beam/erl_bestfit_alloc.c:792 #1 bf_unlink_free_block (flags=0, block=0x10b2a70, allctr=0x873380) at beam/erl_bestfit_alloc.c:822 #2 bf_get_free_block (allctr=0x873380, size=<optimized out>, cand_blk=<optimized out>, cand_size=<optimized out>, flags=0) at beam/erl_bestfit_alloc.c:869 #3 0x000000000044f0dd in mbc_alloc_block (alcu_flgsp=<synthetic pointer>, blk_szp=<synthetic pointer>, size=200, allctr=0x873380) at beam/erl_alloc_util.c:1198 #4 mbc_alloc (allctr=0x873380, size=200) at beam/erl_alloc_util.c:1345 #5 0x000000000045449b in do_erts_alcu_alloc (size=200, extra=0x873380, type=165) at beam/erl_alloc_util.c:3442 #6 erts_alcu_alloc_thr_pref (type=165, extra=<optimized out>, size=192) at beam/erl_alloc_util.c:3520 #7 0x000000000055c0bf in gz_open (mode=0x5d98b2 "rb", path=0x1103418 "foo.bar") at drivers/common/gzio.c:164 #8 erts_gzopen (path=0x1103418 "foo.bar", mode=0x5d98b2 "rb") at drivers/common/gzio.c:307 #9 0x0000000000584e47 in invoke_open (data=0x1103330) at drivers/common/efile_drv.c:1857 #10 0x000000000050adcb in async_main (arg=0x7fe5f698af80) at beam/erl_async.c:488
2013-01-23inets: Prepare for R16Ingela Anderton Andin
2013-01-23Simplify the functions for decoding lengthsBjörn Gustavsson
Now that the decoding of all types are generated inline, we can take out most of the code for decoding lengths.
2013-01-23per,uper: Optimize decoding of the remaining data typesBjörn Gustavsson
2013-01-23per,uper: Optimize decoding of the remaining string typesBjörn Gustavsson
2013-01-23Share all code for dec_gen_prim/3 between per/uper back-endsBjörn Gustavsson
2013-01-23per,uper: Optimize decoding of the string data typesBjörn Gustavsson
2013-01-23testPrimStrings: Test some constraintsBjörn Gustavsson
2013-01-23By default, encode BIT STRING to bitstringsBjörn Gustavsson
Add the option 'legacy_bit_string' to decode to the old list format.
2013-01-23wx: Add wxTreeCtrl:isTreeItemIdOk/1Dan Gudmundsson
Since I have replaced the wxTreeItemIdClass with integers, there is no way to verify that it is a valid wxTreeItemId that is returned from the wxTreeCtrl:getItem* functions. Still the check is that is non null so beware don't construct your own id's.
2013-01-23Merge branch 'rickard/r16/port-optimizations/OTP-10336'Rickard Green
* rickard/r16/port-optimizations/OTP-10336: Bump reductions also for immediate driver calls Add 'port_count' and 'port_limit' to system_info/1 spec Fix documentation Replace use of deprecated functions in test cases Replace use of driver_send_term() with erl_drv_send_term() Conflicts: erts/preloaded/ebin/erlang.beam
2013-01-23Merge branch 'fredrik/fix-dialyzer-warn-r16'Fredrik Gustafsson
* fredrik/fix-dialyzer-warn-r16: Removed deprecated functions handle_pref_algs with correct return values
2013-01-23Merge branch 'fh/shell_history_search/OTP-10739'Fredrik Gustafsson
* fh/shell_history_search/OTP-10739: Add search to Erlang shell's history