aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2013-01-14Merge branch 'ta/werror-return-type/OTP-10683'Björn-Egil Dahlberg
* ta/werror-return-type/OTP-10683: If GCC is used, treat -Wreturn-type as error
2013-01-14Merge branch 'bjorn/dialyzer/test-cases'Björn Gustavsson
* bjorn/dialyzer/test-cases: small_SUITE: Update warnings for port functions Cope with removed support for packages mnesia: Update dialyzer warning
2013-01-14Merge branch 'sverk/crypto-hmac-enhancements/OTP-10640'Fredrik Gustafsson
* sverk/crypto-hmac-enhancements/OTP-10640: crypto: Add RFC-4231 test vectors for output truncation crypto: Add test cases for the generic hmac interface in the RFC-4231 tests crypto: Add RFC-2202 test vectors for HMAC-MD5 and HMAC-SHA1 crypto: Provide a generic interface for HMAC generation crypto: Document all types currently available for hmac_init
2013-01-14Merge branch 'ia/ssl/format-to-print'Ingela Anderton Andin
* ia/ssl/format-to-print: ssl: ct:format should be ct:print
2013-01-14ssl: ct:format should be ct:printIngela Anderton Andin
2013-01-11If GCC is used, treat -Wreturn-type as errorTuncer Ayaz
2013-01-11Merge branch 'fdm/file-allocate/OTP-10680'Björn-Egil Dahlberg
* fdm/file-allocate/OTP-10680: Update preloaded prim_file.beam erts: Fix xcomp configure for fallocate Add file:allocate/3 operation
2013-01-11small_SUITE: Update warnings for port functionsBjörn Gustavsson
2013-01-11Cope with removed support for packagesBjörn Gustavsson
Packages were removed in 34d865a7dfdb33ee1e69fc28885f68baeeadfd98.
2013-01-11mnesia: Update dialyzer warningBjörn Gustavsson
Commit 0c6fe3713b9e2d6497cbfe9275d1170cefb5f169 updated the spec for sys:handle_system_msg/5.
2013-01-11Merge branch 'ia/ssl/ct-tests'Ingela Anderton Andin
* ia/ssl/ct-tests: ssl: CTify test cases
2013-01-11ssl: CTify test casesIngela Anderton Andin
2013-01-10Merge branch 'pn/ansi-console/OTP-10678'Björn-Egil Dahlberg
* pn/ansi-console/OTP-10678: Support ANSI in the console
2013-01-10Merge branch 'ia/ssh/UG-correction'Ingela Anderton Andin
* ia/ssh/UG-correction: ssh: Corrected misunderstanding
2013-01-10ssh: Corrected misunderstandingIngela Anderton Andin
SCP is a subsystem not an example of a one time execution channel.
2013-01-10Merge branch 'ia/ssl/gen-tcp-reusesaddr'Ingela Anderton Andin
* ia/ssl/gen-tcp-reusesaddr: ssl: Add test for gen_tcp with reuseaddr as reference
2013-01-10Merge branch 'fdm/fix_fd_leak_async_thread_pool/OTP-10677'Björn-Egil Dahlberg
* fdm/fix_fd_leak_async_thread_pool/OTP-10677: Fix fd leak when using async thread pool
2013-01-10Update preloaded prim_file.beamBjörn-Egil Dahlberg
2013-01-10erts: Fix xcomp configure for fallocateBjörn-Egil Dahlberg
* Default to 'no' for finding a working fallocate
2013-01-10Merge branch 'bjorn/asn1/extension-addition-groups/OTP-10664'Björn Gustavsson
* bjorn/asn1/extension-addition-groups/OTP-10664: Fix a bug for multiple extension addition groups
2013-01-10Merge branch 'rn/public_key/fix-doc-cert-records/OTP-10670'Fredrik Gustafsson
* rn/public_key/fix-doc-cert-records/OTP-10670: Fix subjectPublicKeyInfo type comment
2013-01-10Merge branch 'bjorn/asn1/minor-fixes'Björn Gustavsson
* bjorn/asn1/minor-fixes: (21 commits) Always inline decoding of open types Eliminate code duplication per: Slightly optimize encoding of fixed OCTET STRINGs per: Fix encoding of OCTET STRINGs with fixed length of 256 or more Remove support for the {Typename,Value} notation in encoding asn1ct_parser2: Let synonyms share parsing code Add a test case for constraint equivalence Make .abs file consultable Fix a bug in skipping of extensions asn1rt_uper_bin: Correct incorrect skipping of extensions asn1 doc: Remove a reference to a section that has been removed Simplify testConstraints by introducing helper functions Simplify testCompactBitString by introducing roundtrip functions Simplify testEnumExt by introducing a roundtrip/2 function Simplify testChoExternal by introducing a roundtrip/2 function Simplify testChoRecursive by introducing a roundtrip/2 function Simplify testSeqExtension.erl by introducing a roundtrip/2 function Simplify testChoExtension by introducing a roundtrip/2 function Simplify testSetOptional by introducing a roundtrip/2 function testSetOptional: Correct test case for decoding of corrupt data ...
2013-01-10Merge branch 'siri/cross-cover/OTP-9870'Siri Hansen
* siri/cross-cover/OTP-9870: [test_server] Don't use print/3 in cross_cover_analyse [common_test] Add documentation for cross cover analysis [common_test] Add test case for cross cover mechanism [test_server] Update documentation about cross cover [test_server] Add test of code cover mechanism [test_server,common_test] Fix cross cover mechansim
2013-01-10Update primary bootstrapBjörn Gustavsson
2013-01-10Merge branch 'bjorn/remove-packages/OTP-10348'Björn Gustavsson
* bjorn/remove-packages/OTP-10348: (22 commits) kernel: Remove the packages module kernel: Eliminate use of packages in code and code_server edoc: Remove support for packages syntax_tools: Remove support for packages reltool: Remove support for packages test_server: Remove support for packages sasl: Remove support for packages debugger: Remove support for packages c: Remove support for packages filename: Remove support for packages erl_pp_SUITE: Remove test of packages shell: Remove support for packages erl_parse: Remove support for packages qlc: Remove support for packages erl_eval: Remove support for packages erl_expand_records: Remove support for packages erl_lint: Remove support for packages compiler: Remove support for packages erts: Remove the packages aliases for BIFs erl_expand_records_SUITE: Eliminate use of packages ...
2013-01-09Merge branch 'egil/fix-os_mon-dialyzer'Björn-Egil Dahlberg
* egil/fix-os_mon-dialyzer: os_mon: Remove superfluous match clause
2013-01-09Merge branch 'egil/ignore-core'Björn-Egil Dahlberg
* egil/ignore-core: test: Ignore cores in debug build for crash dumps
2013-01-09Add file:allocate/3 operationFilipe David Manana
This operation allows pre-allocation of space for files. It succeeds only on systems that support such operation. The POSIX standard defines the optional system call posix_fallocate() to implement this feature. However, some systems implement more specific functions to accomplish the same operation. On Linux, if the more specific function fallocate() is implemented, it is used instead of posix_fallocate(), falling back to posix_fallocate() if the fallocate() call failed (it's only supported for the ext4, ocfs2, xfs and btrfs file systems at the moment). On Mac OS X it uses the specific fcntl() operation F_PREALLOCATE, falling back to posix_fallocate() if it's available (at the moment Mac OS X doesn't provide posix_fallocate()). On any other UNIX system, it uses posix_fallocate() if it's available. Any other system not providing this system call or any function to pre-allocate space for files, this operation always fails with the ENOTSUP POSIX error.
2013-01-09Fix fd leak when using async thread poolFilipe David Borba Manana
When using the async thread pool, if an erlang process asks to open a file and it gets shutdown/killed while the file:open/2 call hasn't returned, it's possible to leak a file descriptor against the target file. This happens because when the file driver is stopped (file_stop() function is called), an async thread is executing, about to execute, or executed already the invoke_open() function. After file_stop() is called, the file_async_ready() function will not run, and this function is responsible for setting desc->fd with the file descriptor that invoke_open() got. The file_stop() call closes desc->fd if it refers to a valid file descriptor, which is not the case here, because this function was called before file_async_ready() could run. This leak is easily reproducile in a GNU/Linux system using the following test code: -module(t). -export([t/1]). t(N) -> 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) -> Name = integer_to_list(N), Server = self(), Pid = spawn(fun() -> Server ! continue, {ok, FdW} = file:open(Name, [raw, write]), {ok, FdR} = file:open(Name, [raw, read]), % Optional close calls, with or without them % it makes no difference. %ok = file:close(FdW), %ok = file:close(FdR), ok end), receive continue -> ok end, exit(Pid, shutdown), loop(N - 1). Running this code with a few iterations is enough to very often notice, with the lsof command, that the beam.smp process is holding forever file descriptors open. This issue doesn't happen if the async thread pool is not used. Example: $ erl +A 4 Erlang R15B03 (erts-5.9.3) [source] [64-bit] [smp:4:4] [async-threads:4] [hipe] [kernel-poll:false] Eshell V5.9.3 (abort with ^G) 1> c(t). {ok,t} 2> os:getpid(). "31975" 3> t:t(20). ok In a separate shell: $ lsof -p 31975 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME beam.smp 31975 fdmanana cwd DIR 8,18 22736896 32563204 /home/fdmanana/git/hub/otp/tmp beam.smp 31975 fdmanana rtd DIR 8,1 4096 2 / beam.smp 31975 fdmanana txt REG 8,1 7600263 1835126 /opt/r15b03/lib/erlang/erts-5.9.3/bin/beam.smp beam.smp 31975 fdmanana mem REG 8,1 7220736 2497283 /usr/lib/locale/locale-archive beam.smp 31975 fdmanana mem REG 8,1 10280 2505021 /usr/lib/libsctp.so.1.0.11 beam.smp 31975 fdmanana mem REG 8,1 1811128 917795 /lib/x86_64-linux-gnu/libc-2.15.so beam.smp 31975 fdmanana mem REG 8,1 31752 917803 /lib/x86_64-linux-gnu/librt-2.15.so beam.smp 31975 fdmanana mem REG 8,1 135366 917799 /lib/x86_64-linux-gnu/libpthread-2.15.so beam.smp 31975 fdmanana mem REG 8,1 159200 921249 /lib/x86_64-linux-gnu/libtinfo.so.5.9 beam.smp 31975 fdmanana mem REG 8,1 1030512 917962 /lib/x86_64-linux-gnu/libm-2.15.so beam.smp 31975 fdmanana mem REG 8,1 14768 917702 /lib/x86_64-linux-gnu/libdl-2.15.so beam.smp 31975 fdmanana mem REG 8,1 149280 917974 /lib/x86_64-linux-gnu/ld-2.15.so beam.smp 31975 fdmanana 0u CHR 136,1 4 /dev/pts/1 beam.smp 31975 fdmanana 1u CHR 136,1 4 /dev/pts/1 beam.smp 31975 fdmanana 2u CHR 136,1 4 /dev/pts/1 beam.smp 31975 fdmanana 3r FIFO 0,8 1298297 pipe beam.smp 31975 fdmanana 4w FIFO 0,8 1298297 pipe beam.smp 31975 fdmanana 5r FIFO 0,8 1298298 pipe beam.smp 31975 fdmanana 6w FIFO 0,8 1298298 pipe beam.smp 31975 fdmanana 7w REG 8,18 0 32564173 /home/fdmanana/git/hub/otp/tmp/20 beam.smp 31975 fdmanana 8w REG 8,18 0 32564176 /home/fdmanana/git/hub/otp/tmp/16 beam.smp 31975 fdmanana 9w REG 8,18 0 32564177 /home/fdmanana/git/hub/otp/tmp/15 beam.smp 31975 fdmanana 10w REG 8,18 0 32564179 /home/fdmanana/git/hub/otp/tmp/12 beam.smp 31975 fdmanana 11w REG 8,18 0 32564180 /home/fdmanana/git/hub/otp/tmp/11 beam.smp 31975 fdmanana 12w REG 8,18 0 32564205 /home/fdmanana/git/hub/otp/tmp/10 beam.smp 31975 fdmanana 13w REG 8,18 0 32564182 /home/fdmanana/git/hub/otp/tmp/8 beam.smp 31975 fdmanana 14w REG 8,18 0 32564183 /home/fdmanana/git/hub/otp/tmp/7 beam.smp 31975 fdmanana 15w REG 8,18 0 32564186 /home/fdmanana/git/hub/otp/tmp/3
2013-01-09Merge branch 'ml/crypto/add-ripemd160-digest/OTP-10667'Fredrik Gustafsson
* ml/crypto/add-ripemd160-digest/OTP-10667: fix crypto ripemd160 tests to use hash_init family fix ripemd160 to use hash_init family and add documentation fix missing defines for RIPEMD160_CTX_LEN and RIPEMD160_LEN add ripemd160 support to crypto
2013-01-09kernel: Remove the packages moduleBjörn Gustavsson
2013-01-09kernel: Eliminate use of packages in code and code_serverBjörn Gustavsson
2013-01-09edoc: Remove support for packagesBjörn Gustavsson
2013-01-09syntax_tools: Remove support for packagesBjörn Gustavsson
2013-01-09reltool: Remove support for packagesBjörn Gustavsson
2013-01-09test_server: Remove support for packagesBjörn Gustavsson
2013-01-09sasl: Remove support for packagesBjörn Gustavsson
2013-01-09debugger: Remove support for packagesBjörn Gustavsson
2013-01-09c: Remove support for packagesBjörn Gustavsson
2013-01-09filename: Remove support for packagesBjörn Gustavsson
2013-01-09erl_pp_SUITE: Remove test of packagesBjörn Gustavsson
2013-01-09shell: Remove support for packagesBjörn Gustavsson
2013-01-09erl_parse: Remove support for packagesBjörn Gustavsson
2013-01-09qlc: Remove support for packagesBjörn Gustavsson
2013-01-09erl_eval: Remove support for packagesBjörn Gustavsson
2013-01-09erl_expand_records: Remove support for packagesBjörn Gustavsson
2013-01-09erl_lint: Remove support for packagesBjörn Gustavsson
2013-01-09compiler: Remove support for packagesBjörn Gustavsson
2013-01-09erts: Remove the packages aliases for BIFsBjörn Gustavsson
2013-01-09erl_expand_records_SUITE: Eliminate use of packagesBjörn Gustavsson