Age | Commit message (Collapse) | Author |
|
|
|
'long' is not pointer sized on win64
|
|
|
|
|
|
Running some valgrind memory checking showed the error below:
==18040== Thread 6:
==18040== Source and destination overlap in memcpy(0xf3f3f04, 0xf3f3f08, 52)
==18040== at 0x4C2CFA0: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==18040== by 0x5CF527: del_chars (ttsl_drv.c:845)
==18040== by 0x5CED5E: ttysl_from_erlang (ttsl_drv.c:658)
==18040== by 0x4982E3: erts_write_to_port (io.c:1235)
==18040== by 0x49A2BD: erts_port_command (io.c:2223)
==18040== by 0x48C054: do_send (bif.c:1962)
==18040== by 0x48CB6E: erl_send (bif.c:2162)
==18040== by 0x566599: process_main (beam_emu.c:1665)
==18040== by 0x4B1A95: sched_thread_func (erl_process.c:4834)
==18040== by 0x6075E2: thr_wrapper (ethread.c:106)
==18040== by 0x5560E99: start_thread (pthread_create.c:308)
This occurred on Linux using R15B01 while the shell was emitting a prompt,
but the same problem is still present in R16B.
Change the memcpy on line 845 of ttsl_drv.c to memmove as valgrind
suggests. After the change, verify with valgrind that the error no longer
occurs.
|
|
* maint-r16:
Prepare release
Prepare release
Do not count offline run-queues as empty
Prepare release
Prevent loss of objects after the extension marker
Don't lose the extension mark for object set parameters
Conflicts:
erts/vsn.mk
|
|
|
|
* siri/doc-fnu-opts/OTP-10901:
Add documentation of w, i and e addition to +fnu and +fna switches to erl
|
|
These were documented in the stdlib user's guide, but not in the
reference manual for erl. This has now been corrected.
|
|
To ensure that 'master' compiles when we merge 'maint' to it,
regardless of which encoding is default in 'master', all source
files with non-ascii characters *must* have the encoding specified.
|
|
|
|
|
|
* atj/atj-fix-message_que_len-typo/OTP-11024:
Fix typo in type: erlang:process_info_item()
|
|
|
|
'message_que_len' should be 'message_queue_len'.
|
|
Conflicts:
erts/vsn.mk
|
|
|
|
* egil/r16/fix-delete_element/OTP-10932:
erts: Refactor erlang:insert_element/3 for clarity
erts: Fix copy error in erlang:delete_element/2
|
|
* rickard/sys-flags/OTP-11000:
Fix `+sws' and `+swt' system flags
|
|
* rickard/thr_prgr_later_op/OTP-10994:
Make port close not be delayed
Be less eager requesting wakeup for cleanup jobs
|
|
Drivers are dereferenced when the port is completely gone, in the operation
scheduled with erts_schedule_thr_prgr_later_op. If we use
erts_schedule_thr_prgr_later_cleanup_op, it may not happen
for a long time and the driver can not be unloaded.
We can not dereference the driver before the thread_progress_later
thing, because references to the driver may exist in other threads, so
the unloading of the driver may free locks held by other schedulers and
whatnot.
|
|
|
|
|
|
|
|
In the specs and the documentation of the spawn_opt family of functions
there is the following definition of priority levels:
Level = low | normal | high
However, the process_flag/1 function in that module reads:
process_flag(Flag :: priority, Level) -> OldLevel
Types:
Level = OldLevel = priority_level()
priority_level() = low | normal | high | max
This is clearly inconsistent. Change specs to use the process_level()
type declaration instead of re-defining it in various places.
|
|
|
|
|
|
* ta/ct_run-unused-fun/OTP-11003:
ct_run: delete unused function
|
|
* bh/fix-erlsrv-usage-typo/OTP-11002:
Correct typo in erlsrv usage.
|
|
* sverk/meta-trace-leak:
erts: Fix memleak related to meta tracing
OTP-10997
|
|
|
|
|
|
* lukas/erts/efile_delayed_write_fix/OTP-10984:
Do driver_deq in worker threads instead of async_ready
|
|
* dgud/testcase_fixes:
Fix timers
mnesia: Decrease test times
Add debug printouts
wx: Fix failing testcases
stdlib: Ignore symlink tests on windows
|
|
The manual says that an Emacs directive can be placed on the second
line. With this patch that directive is also recognized when selecting
encoding of the script.
|
|
|
|
This hopefully detects fault glibc's where
fallocate64 is nonexistent.
|
|
|
|
Doing it in async_ready was needed before the pdl was introduced, but
now with the pdl the deq no longer needs the port lock to protect it.
This was not an issue when async_ready was called in the worker thread,
but now (R15B) that it is signalled back to the scheduler, some very nasty
race conditions could occur when using driver_timer and async jobs.
|
|
|
|
Off-by-one error in element copy.
|
|
|
|
spells __NetBSD__ correctly.
|
|
* egil/fix-mseg_dealloc-arguments/OTP-10912:
erts: Fix refactor error in mseg
|
|
Faulty number of arguments to mseg_dealloc.
Problem arises if we try to compile halfword on operating system
which do not have mremap. Not a supported case.
|
|
|
|
|
|
|
|
|
|
|