aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2013-05-06Make ssh_cli.erl handle <CTRL>+CStefan Zegenhagen
Dear all, I've found that ssh_cli.erl does not scan the input received from the remote for occurrences of <CTRL>+C to signal the user's interrupt requests to the group_leader of the CLI session. The patch attached to this e-mail fixes the issue. Kind regards, -- Dr. Stefan Zegenhagen arcutronix GmbH Garbsener Landstr. 10 30419 Hannover Germany Tel: +49 511 277-2734 Fax: +49 511 277-2709 Email: [email protected] Web: www.arcutronix.com *Synchronize the Ethernet* General Managers: Dipl. Ing. Juergen Schroeder, Dr. Josef Gfrerer - Legal Form: GmbH, Registered office: Hannover, HRB 202442, Amtsgericht Hannover; Ust-Id: DE257551767. Please consider the environment before printing this message. >From f1d056ed1bf419677098cdc57bc7ce8a327e6b43 Mon Sep 17 00:00:00 2001 From: Stefan Zegenhagen <[email protected]> Date: Mon, 6 May 2013 14:29:45 +0200 Subject: [PATCH] [SSH-CLI] properly handle <CTRL>+C as shell interrupt In ssh_cli.erl, check for the presence of <CTRL>+C in data received from the remote. If detected, use the established mechanism (send an 'interrupt' exit signal to the group_leader) to signal an interrupt to the shell.
2013-05-03Update primary bootstrapFredrik Gustafsson
2013-05-03Merge branch 'nox/fix-epp-file-attrs/OTP-11079' into maintFredrik Gustafsson
* nox/fix-epp-file-attrs/OTP-11079: Fix an inconsistent state in epp
2013-05-02Merge branch 'maint-r16' into maintPatrik Nyblom
2013-05-02Merge branch 'maint-r15' into maint-r16Patrik Nyblom
2013-05-02Update primary bootstrapFredrik Gustafsson
2013-05-02Merge branch 'nox/lists-filtermap/OTP-11078' into maintFredrik Gustafsson
* nox/lists-filtermap/OTP-11078: Rename and document lists:zf/2 as lists:filtermap/2
2013-05-02Merge branch 'fredrik/common_test/wait_for_linebreak_doc' into maintFredrik Gustafsson
* fredrik/common_test/wait_for_linebreak_doc: Added further doc common_test: Added documentation for wait_for_linebreak option
2013-04-30Merge branch 'siri/cuddle-with-tests' into maintSiri Hansen
* siri/cuddle-with-tests: [jinterface] Extend timetrap timers in nc_SUITE and jinterface_SUITE [jinterface] Set max heap size for jvm when running echo_server [jinterface] Clean up hanging java nodes after each test case
2013-04-30Rename and document lists:zf/2 as lists:filtermap/2Anthony Ramine
This function is used all over the place in OTP itself and people sometimes want that functionality, they may as well not reimplement it themselves.
2013-04-30Added further docFredrik Gustafsson
2013-04-30common_test: Added documentation for wait_for_linebreak optionFredrik Gustafsson
2013-04-29Merge branch 'as/fix-srp-psk-anon/OTP-11071' into maintFredrik Gustafsson
* as/fix-srp-psk-anon/OTP-11071: fix srp_anon ciphers suites requiring certificates to work.
2013-04-29Update primary bootstrapFredrik Gustafsson
2013-04-29Merge branch 'nox/fix-multiple-ref-regs/OTP-11069' into maintFredrik Gustafsson
* nox/fix-multiple-ref-regs/OTP-11069: Use a set to store ref registers in beam_receive
2013-04-26Fix an inconsistent state in eppAnthony Ramine
When entering a new file, epp doesn't properly set #epp.name2 like it does on initialisation, generating a malformed file attribute when it leaves the file.
2013-04-26Prepare releaseErlang/OTP
2013-04-26Merge branch 'pan/monitor_long_schedule' into maint-r15Erlang/OTP
* pan/monitor_long_schedule: Skip testcase on platforms w/o pipes/usleep Add documentation for new system_monitor Add long_schedule detection for ports and testcases Add erlang:system_monitor(Pid,[{long_schedule,Millis}])
2013-04-26Skip testcase on platforms w/o pipes/usleepPatrik Nyblom
2013-04-25Add documentation for new system_monitorPatrik Nyblom
2013-04-25Add long_schedule detection for ports and testcasesPatrik Nyblom
2013-04-24Merge branch 'peppe/common_test/ts_logfile_problems' into maintPeter Andersson
* peppe/common_test/ts_logfile_problems: Fix error with refreshing logs when html util files are missing Add correct footer to last run index page Make test_server close log files properly and include correct footer
2013-04-24Merge branch 'sv-ttsl-valgrind' into maintLukas Larsson
* sv-ttsl-valgrind: Fix src/dest overlap in ttsl driver fix valgrind error in erts/emulator/drivers/unix/ttsl_drv.c OTP-11064
2013-04-24Merge branch 'hb/dialyzer/gui-bugfix/OTP-11057' into maintHans Bolinder
* hb/dialyzer/gui-bugfix/OTP-11057: [dialyzer] Fix a bug concerning the --gui and --wx options
2013-04-24[dialyzer] Fix a bug concerning the --gui and --wx optionsHans Bolinder
A bug that made it impossible to do any analyses from the GUI has been fixed. The bug was introduced in dialyzer-2.5.2.
2013-04-22Fix src/dest overlap in ttsl driverLukas Larsson
2013-04-22Fix error with refreshing logs when html util files are missingPeter Andersson
OTP-11046
2013-04-22[jinterface] Extend timetrap timers in nc_SUITE and jinterface_SUITESiri Hansen
2013-04-22[jinterface] Set max heap size for jvm when running echo_serverSiri Hansen
The test cases nc_SUITE:decompress_roundtrip and nc_SUITE:compress_roundtrip fails on some machines with OutOfMemoryException. This commit sets the max heap size for the jvm to 256M in nc_SUITE in order to get around this.
2013-04-22[jinterface] Clean up hanging java nodes after each test caseSiri Hansen
2013-04-22Add correct footer to last run index pagePeter Andersson
OTP-11046
2013-04-22Merge branch 'kt/fix-crypto-doc-typo' into maintLukas Larsson
* kt/fix-crypto-doc-typo: crypto: Fix typo in documentation OTP-11058
2013-04-21fix valgrind error in erts/emulator/drivers/unix/ttsl_drv.cSteve Vinoski
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.
2013-04-21crypto: Fix typo in documentationKlaus Trainer
2013-04-19Add erlang:system_monitor(Pid,[{long_schedule,Millis}])Patrik Nyblom
2013-04-19Merge branch 'fredrik/ssh/unicode_adapt' into maintFredrik Gustafsson
* fredrik/ssh/unicode_adapt: ssh: unicode adaptions
2013-04-19Make test_server close log files properly and include correct footerPeter Andersson
OTP-11046
2013-04-19Merge branch 'anders/diameter/mkdir_race/OTP-11051' into maintAnders Svensson
* anders/diameter/mkdir_race/OTP-11051: Fix mkdir race
2013-04-19Use a set to store ref registers in beam_receiveAnthony Ramine
In some circumstances, as when inlining code, when some optimization passes are disabled or with hand-written but semantically correct Core Erlang or BEAM assembly, a fresh reference may be live in more than one register: ... {allocate_zero,2,2}. ... {call_ext,0,{extfunc,erlang,make_ref,0}}. % Ref in [x0] ... {move,{x,0},{y,0}}. % Ref in [x0,y0] {move,{y,1},{x,0}}. % Ref in [y0] ... {move,{y,0},{x,0}}. % Ref in [x0,y0] {move,{x,0},{y,1}}. % Ref in [x0,y0,y1] {label,5}. {loop_rec,{f,6},{x,0}}. % Ref in [y0,y1] ... {loop_rec_end,{f,5}}. {label,6}. {wait,{f,5}}. ... Pass beam_receive expects a single live register for the ref when it encounters the loop_rec instruction and crashes with the following reason: $ erlc t.S ... crash reason: {{case_clause, {'EXIT', {{case_clause,[{y,1},{y,0}]}, [{beam_receive,opt_recv,5, [{file,"beam_receive.erl"},{line,154}]}, ...]}}}, ...} This commit teaches beam_receive how to use a set of registers instead of a single one when tracking fresh references, thus avoiding the crash.
2013-04-19Update primary bootstrapFredrik Gustafsson
2013-04-19Merge branch 'siri/cuddle-with-tests' into maintSiri Hansen
* siri/cuddle-with-tests: [common_test] Adjusted timers in ct_repeat_testrun_SUITE [common_test] Extend timer in cover_SUITE for slow test host [sasl] Remove compiler warning in release_handler_SUITE [common_test] Kill slave nodes after test cases in cover_SUITE [reltool] Remove erlang:port_close/1 for node port
2013-04-19[common_test] Adjusted timers in ct_repeat_testrun_SUITESiri Hansen
This is to allow slower test hosts.
2013-04-19[common_test] Extend timer in cover_SUITE for slow test hostSiri Hansen
2013-04-19[sasl] Remove compiler warning in release_handler_SUITESiri Hansen
2013-04-19[common_test] Kill slave nodes after test cases in cover_SUITESiri Hansen
The test case cover_SUITE:slave_start_slave often fails on a test host (windows) due to a hanging node from an earlier test run. In the first test, the slave fails to start (boot_timeout?) and is never connected to the test node. The attempt at cleaning up used nodes() to find which slaves to kill - so in the case where the slave was never connected it was never killed. This is no changed so each slave is explicitly killed by name - no matter if it is pingable or not.
2013-04-19[reltool] Remove erlang:port_close/1 for node portSiri Hansen
Test nodes are started with erlang:open_port/2, using the -detached option to erl. -detached causes the port returned from open_port/2 to be closed automatically. Some test cases failed occasionally with a badarg when attempting to close the port with erlang:port_close/1. To avoid this the call to port_close/1 is now removed.
2013-04-19Merge branch 'ak/fix-cpu-overhead-of-timer-server/OTP-11053' into maintFredrik Gustafsson
* ak/fix-cpu-overhead-of-timer-server/OTP-11053: fix excessive CPU consumption of timer_server
2013-04-19fix excessive CPU consumption of timer_serverAliaksey Kandratsenka
I've found stdlib's timer to burn CPU without good reason. Here's what happens. The problem is that it sleeps in milliseconds but computes time in microseconds. And there is bug in code to compute milliseconds to sleep. It computes microseconds difference between now and nearest timer event and then does _truncating_ division by 1000. So on average it sleeps 500 microseconds _less than needed_. On wakeup its checks do I have timer tick that already occurred? No. Ok how much I need to sleep ? It does that bad computation again and gets 0 milliseconds. So next gen_server timeout happens right away only to find we're still before closest timer tick and to decide to sleep 0 milliseconds again. And again and again. This commit changes division to pick ceiling of ratio rather than floor. So that we always sleep not less then difference between now and closest event time.
2013-04-18Fix mkdir raceAnders Svensson
Creating examples/code and examples/dict in parallel can fail when examples doesn't exists. This has been seen on FreeBSD.
2013-04-18Merge branch 'maint-r16' into maintBjörn Gustavsson
* 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