Update to Erlang/OTP R15B01
Presumably fixes PR pkg/46297
Changes in Erlang/OTP R15B01
Highlights:
* Added erlang:statistics(scheduler_wall_time) to ensure
correct determination of scheduler utilization. Measuring
scheduler utilization is strongly preferred over CPU
utilization, since CPU utilization gives very poor
indications of actual scheduler/vm usage.
* Changed ssh implementation to use the public_key application
for all public key handling. This is also a first step for
enabling a callback API for supplying public keys and
handling keys protected with password phrases. Additionally
the test suites where improved so that they do not copy the
users keys to test server directories as this is a security
liability. Also ipv6 and file access issues found in the
process has been fixed.
* When an escript ends now all printout to standard output and
standard error gets out on the terminal. This bug has been
corrected by changing the behaviour of erlang:halt/0,1,
which should fix the same problem for other escript-like
applications, i.e. that data stored in the output port
driver buffers got lost when printing on a TTY and exiting
through erlang:halt/0,1. The BIF:s erlang:halt/0,1 has
gotten improved semantics and there is a new BIF
erlang:halt/2 to accomplish something like the old
semantics. See the documentation.
* The DTrace source patch from Scott Lystig Fritchie is
integrated in the source tree. Using an emulator with dtrace
probe is still not supported for production use, but may be
a valuable debugging tool.
* Added Torbjörn Törnkvists LDAP client as a new application
called eldap.
* Added options for the ssh client to support user keys files
that are password protected.
Changes in Erlang/OTP R15B
Highlights:
* Line number and filename information are now included in
exception backtraces. This information will be
pretty-printed in the shell and used in crash reports etc.
In practice it will be much easier to find where something
failed.
* The driver interface has been changed to enable 64-bit aware
drivers. Most importantly the return types for ErlDrvEntry
callbacks 'call' and 'control' has been changed which
require drivers to be changed.
* New in this release is the support for 64 bit Windows.
The self extracting installer can be found here.
* CommonTest hooks are now in a final supported version.
* There is a new GUI tool in the observer application which
integrates pman, etop, appmon and tv into one tool. The tool
does also contain functions for activating tracing in an easy way.
* The Erlang distribution can now be run over the new SSL implementation.
Changes in Erlang/OTP R15A
Notable changes:
OTP-9468 'Line numbers in exceptions'
OTP-9451 'Parallel make'
OTP-4779 A new GUI for Observer. Integrating pman, etop and tv into
observer with tracing facilities.
OTP-7775 A number of memory allocation optimizations have been
implemented. Most optimizations reduce contention caused by
synchronization between threads during allocation and
deallocation of memory. Most notably:
Synchronization of memory management in scheduler
specific allocator instances has been rewritten to
use lock-free synchronization.
Synchronization of memory management in scheduler
specific pre-allocators has been rewritten to use
lock-free synchronization.
The 'mseg_alloc' memory segment allocator now use
scheduler specific instances instead of one
instance. Apart from reducing contention this also
ensures that memory allocators always create memory
segments on the local NUMA node on a NUMA system.
OTP-9632 An ERTS internal, generic, many to one, lock-free
queue for communication between threads has been
introduced. The many to one scenario is very common in
ERTS, so it can be used in a lot of places in the
future. Currently it is used by scheduling of certain
jobs, and the async thread pool, but more uses are
planned for the future.
Drivers using the driver_async functionality are not
automatically locked to the system anymore, and can be
unloaded as any dynamically linked in driver.
Scheduling of ready async jobs is now also interleaved
in between other jobs. Previously all ready async jobs
were performed at once.
OTP-9631 The ERTS internal system block functionality has been
replaced by new functionality for blocking the system.
The old system block functionality had contention
issues and complexity issues. The new functionality
piggy-backs on thread progress tracking functionality
needed by newly introduced lock-free synchronization
in the runtime system. When the functionality for
blocking the system isn't used, there is more or less
no overhead at all. This since the functionality for
tracking thread progress is there and needed anyway.
2012-04-12 14:14:12 +02:00
|
|
|
$NetBSD: patch-ai,v 1.4 2012/04/12 12:14:13 asau Exp $
|
2009-02-07 22:45:43 +01:00
|
|
|
|
Update to Erlang/OTP R15B01
Presumably fixes PR pkg/46297
Changes in Erlang/OTP R15B01
Highlights:
* Added erlang:statistics(scheduler_wall_time) to ensure
correct determination of scheduler utilization. Measuring
scheduler utilization is strongly preferred over CPU
utilization, since CPU utilization gives very poor
indications of actual scheduler/vm usage.
* Changed ssh implementation to use the public_key application
for all public key handling. This is also a first step for
enabling a callback API for supplying public keys and
handling keys protected with password phrases. Additionally
the test suites where improved so that they do not copy the
users keys to test server directories as this is a security
liability. Also ipv6 and file access issues found in the
process has been fixed.
* When an escript ends now all printout to standard output and
standard error gets out on the terminal. This bug has been
corrected by changing the behaviour of erlang:halt/0,1,
which should fix the same problem for other escript-like
applications, i.e. that data stored in the output port
driver buffers got lost when printing on a TTY and exiting
through erlang:halt/0,1. The BIF:s erlang:halt/0,1 has
gotten improved semantics and there is a new BIF
erlang:halt/2 to accomplish something like the old
semantics. See the documentation.
* The DTrace source patch from Scott Lystig Fritchie is
integrated in the source tree. Using an emulator with dtrace
probe is still not supported for production use, but may be
a valuable debugging tool.
* Added Torbjörn Törnkvists LDAP client as a new application
called eldap.
* Added options for the ssh client to support user keys files
that are password protected.
Changes in Erlang/OTP R15B
Highlights:
* Line number and filename information are now included in
exception backtraces. This information will be
pretty-printed in the shell and used in crash reports etc.
In practice it will be much easier to find where something
failed.
* The driver interface has been changed to enable 64-bit aware
drivers. Most importantly the return types for ErlDrvEntry
callbacks 'call' and 'control' has been changed which
require drivers to be changed.
* New in this release is the support for 64 bit Windows.
The self extracting installer can be found here.
* CommonTest hooks are now in a final supported version.
* There is a new GUI tool in the observer application which
integrates pman, etop, appmon and tv into one tool. The tool
does also contain functions for activating tracing in an easy way.
* The Erlang distribution can now be run over the new SSL implementation.
Changes in Erlang/OTP R15A
Notable changes:
OTP-9468 'Line numbers in exceptions'
OTP-9451 'Parallel make'
OTP-4779 A new GUI for Observer. Integrating pman, etop and tv into
observer with tracing facilities.
OTP-7775 A number of memory allocation optimizations have been
implemented. Most optimizations reduce contention caused by
synchronization between threads during allocation and
deallocation of memory. Most notably:
Synchronization of memory management in scheduler
specific allocator instances has been rewritten to
use lock-free synchronization.
Synchronization of memory management in scheduler
specific pre-allocators has been rewritten to use
lock-free synchronization.
The 'mseg_alloc' memory segment allocator now use
scheduler specific instances instead of one
instance. Apart from reducing contention this also
ensures that memory allocators always create memory
segments on the local NUMA node on a NUMA system.
OTP-9632 An ERTS internal, generic, many to one, lock-free
queue for communication between threads has been
introduced. The many to one scenario is very common in
ERTS, so it can be used in a lot of places in the
future. Currently it is used by scheduling of certain
jobs, and the async thread pool, but more uses are
planned for the future.
Drivers using the driver_async functionality are not
automatically locked to the system anymore, and can be
unloaded as any dynamically linked in driver.
Scheduling of ready async jobs is now also interleaved
in between other jobs. Previously all ready async jobs
were performed at once.
OTP-9631 The ERTS internal system block functionality has been
replaced by new functionality for blocking the system.
The old system block functionality had contention
issues and complexity issues. The new functionality
piggy-backs on thread progress tracking functionality
needed by newly introduced lock-free synchronization
in the runtime system. When the functionality for
blocking the system isn't used, there is more or less
no overhead at all. This since the functionality for
tracking thread progress is there and needed anyway.
2012-04-12 14:14:12 +02:00
|
|
|
--- lib/gs/src/tool_utils.erl.orig 2011-12-14 14:22:11.000000000 +0400
|
|
|
|
+++ lib/gs/src/tool_utils.erl 2012-01-05 04:38:39.000000000 +0400
|
2011-04-14 21:34:07 +02:00
|
|
|
@@ -40,6 +40,9 @@
|
2009-12-15 13:07:57 +01:00
|
|
|
}).
|
2009-02-07 22:45:43 +01:00
|
|
|
|
|
|
|
|
2009-12-15 13:07:57 +01:00
|
|
|
+%% Browser executable list (openURL command line protocol required)
|
|
|
|
+-define(BROWSERS, ["netscape", "mozilla", "MozillaFirebird", "opera"]).
|
|
|
|
+
|
|
|
|
%%----------------------------------------------------------------------
|
|
|
|
%% open_help(Parent, File)
|
|
|
|
%% Parent = gsobj() (GS root object or parent window)
|
2011-04-14 21:34:07 +02:00
|
|
|
@@ -80,7 +83,7 @@
|
2009-12-15 13:07:57 +01:00
|
|
|
{unix,Type} ->
|
|
|
|
case Type of
|
|
|
|
darwin -> "open " ++ File;
|
|
|
|
- _Else -> "netscape -remote \"openURL(file:" ++ File ++ ")\""
|
|
|
|
+ _Else -> unix_url_command("file:" ++ File)
|
|
|
|
end;
|
|
|
|
{win32,_AnyType} ->
|
|
|
|
"start " ++ filename:nativename(File);
|
2011-04-14 21:34:07 +02:00
|
|
|
@@ -95,7 +98,7 @@
|
2009-12-15 13:07:57 +01:00
|
|
|
{unix,Type} ->
|
|
|
|
case Type of
|
|
|
|
darwin -> "open " ++ File;
|
|
|
|
- _Else -> "netscape -remote \"openURL(file:" ++ File ++ ")\""
|
|
|
|
+ _Else -> unix_url_command("file:" ++ File)
|
|
|
|
end;
|
|
|
|
{win32,_AnyType} ->
|
Update to Erlang/OTP R15B01
Presumably fixes PR pkg/46297
Changes in Erlang/OTP R15B01
Highlights:
* Added erlang:statistics(scheduler_wall_time) to ensure
correct determination of scheduler utilization. Measuring
scheduler utilization is strongly preferred over CPU
utilization, since CPU utilization gives very poor
indications of actual scheduler/vm usage.
* Changed ssh implementation to use the public_key application
for all public key handling. This is also a first step for
enabling a callback API for supplying public keys and
handling keys protected with password phrases. Additionally
the test suites where improved so that they do not copy the
users keys to test server directories as this is a security
liability. Also ipv6 and file access issues found in the
process has been fixed.
* When an escript ends now all printout to standard output and
standard error gets out on the terminal. This bug has been
corrected by changing the behaviour of erlang:halt/0,1,
which should fix the same problem for other escript-like
applications, i.e. that data stored in the output port
driver buffers got lost when printing on a TTY and exiting
through erlang:halt/0,1. The BIF:s erlang:halt/0,1 has
gotten improved semantics and there is a new BIF
erlang:halt/2 to accomplish something like the old
semantics. See the documentation.
* The DTrace source patch from Scott Lystig Fritchie is
integrated in the source tree. Using an emulator with dtrace
probe is still not supported for production use, but may be
a valuable debugging tool.
* Added Torbjörn Törnkvists LDAP client as a new application
called eldap.
* Added options for the ssh client to support user keys files
that are password protected.
Changes in Erlang/OTP R15B
Highlights:
* Line number and filename information are now included in
exception backtraces. This information will be
pretty-printed in the shell and used in crash reports etc.
In practice it will be much easier to find where something
failed.
* The driver interface has been changed to enable 64-bit aware
drivers. Most importantly the return types for ErlDrvEntry
callbacks 'call' and 'control' has been changed which
require drivers to be changed.
* New in this release is the support for 64 bit Windows.
The self extracting installer can be found here.
* CommonTest hooks are now in a final supported version.
* There is a new GUI tool in the observer application which
integrates pman, etop, appmon and tv into one tool. The tool
does also contain functions for activating tracing in an easy way.
* The Erlang distribution can now be run over the new SSL implementation.
Changes in Erlang/OTP R15A
Notable changes:
OTP-9468 'Line numbers in exceptions'
OTP-9451 'Parallel make'
OTP-4779 A new GUI for Observer. Integrating pman, etop and tv into
observer with tracing facilities.
OTP-7775 A number of memory allocation optimizations have been
implemented. Most optimizations reduce contention caused by
synchronization between threads during allocation and
deallocation of memory. Most notably:
Synchronization of memory management in scheduler
specific allocator instances has been rewritten to
use lock-free synchronization.
Synchronization of memory management in scheduler
specific pre-allocators has been rewritten to use
lock-free synchronization.
The 'mseg_alloc' memory segment allocator now use
scheduler specific instances instead of one
instance. Apart from reducing contention this also
ensures that memory allocators always create memory
segments on the local NUMA node on a NUMA system.
OTP-9632 An ERTS internal, generic, many to one, lock-free
queue for communication between threads has been
introduced. The many to one scenario is very common in
ERTS, so it can be used in a lot of places in the
future. Currently it is used by scheduling of certain
jobs, and the async thread pool, but more uses are
planned for the future.
Drivers using the driver_async functionality are not
automatically locked to the system anymore, and can be
unloaded as any dynamically linked in driver.
Scheduling of ready async jobs is now also interleaved
in between other jobs. Previously all ready async jobs
were performed at once.
OTP-9631 The ERTS internal system block functionality has been
replaced by new functionality for blocking the system.
The old system block functionality had contention
issues and complexity issues. The new functionality
piggy-backs on thread progress tracking functionality
needed by newly introduced lock-free synchronization
in the runtime system. When the functionality for
blocking the system isn't used, there is more or less
no overhead at all. This since the functionality for
tracking thread progress is there and needed anyway.
2012-04-12 14:14:12 +02:00
|
|
|
"netscape.exe -h " ++
|
|
|
|
@@ -430,3 +433,53 @@
|
2009-12-15 13:07:57 +01:00
|
|
|
[Last];
|
|
|
|
insert_newlines(Other) ->
|
|
|
|
Other.
|
|
|
|
+
|
|
|
|
+%% find_browser(BrowserList) => string() | false
|
|
|
|
+%% BrowserList - [string()]
|
|
|
|
+%% Given a list of basenames, find the first available executable.
|
|
|
|
+
|
|
|
|
+find_browser([]) ->
|
|
|
|
+ false;
|
|
|
|
+
|
|
|
|
+find_browser([H | T]) ->
|
|
|
|
+ case os:find_executable(H) of
|
|
|
|
+ false ->
|
|
|
|
+ find_browser(T);
|
|
|
|
+ Browser ->
|
|
|
|
+ Browser
|
|
|
|
+ end.
|
|
|
|
+
|
|
|
|
+%% unix_url_command(URL) => string()
|
|
|
|
+%% URL - string()
|
|
|
|
+%% Open an URL, using a browser which supports the openURL command
|
|
|
|
+%% line protocol. If no browser is found, the empty string will be
|
|
|
|
+%% returned.
|
|
|
|
+
|
|
|
|
+unix_url_command(URL) ->
|
|
|
|
+ Template = "BROWSER -remote \"openURL(" ++ URL ++ ")\" || BROWSER " ++ URL ++ "&",
|
|
|
|
+
|
|
|
|
+ case os:getenv("BROWSER") of
|
|
|
|
+ false ->
|
|
|
|
+ %% look for a compatible browser
|
|
|
|
+ case find_browser(?BROWSERS) of
|
|
|
|
+ false ->
|
|
|
|
+ "";
|
|
|
|
+ Browser ->
|
|
|
|
+ case regexp:gsub(Template, "BROWSER", Browser) of
|
|
|
|
+ {ok, Command, 0} ->
|
|
|
|
+ %% Template does not contain "BROWSER" placeholder
|
|
|
|
+ "";
|
|
|
|
+ {ok, Command, _} ->
|
|
|
|
+ Command
|
|
|
|
+ end
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ Value ->
|
|
|
|
+ case regexp:gsub(Template, "BROWSER", Value) of
|
|
|
|
+ {ok, Command2, 0} ->
|
|
|
|
+ %% no placeholder
|
|
|
|
+ "";
|
|
|
|
+ {ok, Command2, _} ->
|
|
|
|
+ Command2
|
|
|
|
+ end
|
|
|
|
+ end.
|