aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/src/beam_lib.erl
AgeCommit message (Collapse)Author
2011-09-27beam_lib: Handle rare race in the crypto key server functionalityBjörn Gustavsson
In rare circumstances, there can be a race when the crypto key server is started by beam_lib:crypto_key_fun/1 shortly after stopping it using beam_lib:clear_crypto_key_fun/0. The race occurs because the crypto key server first sends back the reply to the calling process, then terminates. (The race is probably more likely to happen on CPUs with hyper threading.)
2011-05-12Types and specifications have been modified and addedHans Bolinder
2010-09-10Remove warnings for clashes with new autoimported BIFsPatrik Nyblom
2010-06-17Fix beam_lib:cmp/2 return type specificationPaul Guyot
Specify that beam_lib:cmp/2 can return {error, beam_lib, different_chunks} if a chunk is only present in one of the beams.
2010-06-03stdlib: Add declarations for exported typesKostis Sagonas
2010-05-11Merge branch 'bg/beam_lib' into devErlang/OTP
* bg/beam_lib: Remove redundant includes Make beam_lib:cmp/2 stricter OTP-8625 bg/beam_lib The beam_lib:cmp/2 function now compares BEAM files in stricter way. The BEAM files will be considered different if there are any changes except in the compilation information ("CInf") chunk. beam_lib:cmp/2 used to ignore differences in the debug information (significant for Dialyzer) and other chunks that did not directly change the run-time behavior.
2010-05-06Remove redundant includesBjörn Gustavsson
2010-05-06Make beam_lib:cmp/2 stricterBjörn Gustavsson
The beam_lib:cmp/2 function only compares the executable parts of the BEAM files, not attributes or abstract code. Since the types and specs (used by Dialyzer) are contained in the abstract code, beam_lib:cmp/2 will return 'ok' if the only difference between two BEAM file are in the types or specs. If an Erlang/OTP system is installed in a revision control system, and beam_lib:cmp/2 is used to avoid committing unchanged but newly compiled BEAM files, BEAM files with no other changes than in types or specs may not get updated, which can problems if Dialyzer or the debugger is run. To avoid that problem, change beam_lib:cmp/2 to compare all chunks *except* for the "CInf" chunk. The "CInf" chunk contains the compilation time, compiler options, and compiler version.
2009-11-20The R13B03 release.OTP_R13B03Erlang/OTP