Browse Source

make uwiger/gproc the new root; fix email & targets

Ulf Wiger 10 years ago
parent
commit
002f94b6e3

+ 2 - 2
Makefile

@@ -44,7 +44,7 @@ eunit:
 test: eunit
 test: eunit
 
 
 doc:
 doc:
-	$(REBAR) get-deps doc
+	$(REBAR) get-deps compile doc
 
 
 dialyzer:
 dialyzer:
-	$(REBAR) skip_deps=true dialyze
+	$(REBAR) skip_deps=true dialyze

+ 16 - 16
README.md

@@ -2,7 +2,7 @@
 
 
 # The gproc application #
 # The gproc application #
 
 
-__Authors:__ Ulf Wiger ([`ulf.wiger@erlang-solutions.com`](mailto:ulf.wiger@erlang-solutions.com)), Joseph Wayne Norton ([`norton@geminimobile.com`](mailto:norton@geminimobile.com)).
+__Authors:__ Ulf Wiger ([`ulf@wiger.net`](mailto:ulf@wiger.net)), Joseph Wayne Norton ([`norton@geminimobile.com`](mailto:norton@geminimobile.com)).
 
 
 Extended process dictionary
 Extended process dictionary
 
 
@@ -79,8 +79,8 @@ alternative sources, and cache them for efficient lookup. Caching also provides
 a way to see which processes rely on certain configuration values, as well as
 a way to see which processes rely on certain configuration values, as well as
 which values they actually ended up using.
 which values they actually ended up using.
 
 
-See [`gproc:get_env/4`](http://github.com/esl/gproc/blob/master/doc/gproc.md#get_env-4), [`gproc:get_set_env/4`](http://github.com/esl/gproc/blob/master/doc/gproc.md#get_set_env-4) and
-[`gproc:set_env/5`](http://github.com/esl/gproc/blob/master/doc/gproc.md#set_env-5) for details.
+See [`gproc:get_env/4`](http://github.com/uwiger/gproc/blob/master/doc/gproc.md#get_env-4), [`gproc:get_set_env/4`](http://github.com/uwiger/gproc/blob/master/doc/gproc.md#get_set_env-4) and
+[`gproc:set_env/5`](http://github.com/uwiger/gproc/blob/master/doc/gproc.md#set_env-5) for details.
 
 
 
 
 ## Testing ##
 ## Testing ##
@@ -100,23 +100,23 @@ global gproc.
 By default, `./rebar doc` generates Github-flavored Markdown files.
 By default, `./rebar doc` generates Github-flavored Markdown files.
 If you want to change this, remove the `edoc_opts` line from `rebar.config`.
 If you want to change this, remove the `edoc_opts` line from `rebar.config`.
 Gproc was first introduced at the ACM SIGPLAN Erlang Workshop in
 Gproc was first introduced at the ACM SIGPLAN Erlang Workshop in
-Freiburg 2007 ([Paper available here](http://github.com/esl/gproc/blob/master/doc/erlang07-wiger.pdf)).
+Freiburg 2007 ([Paper available here](http://github.com/uwiger/gproc/blob/master/doc/erlang07-wiger.pdf)).
 
 
 
 
 ## Modules ##
 ## Modules ##
 
 
 
 
 <table width="100%" border="0" summary="list of modules">
 <table width="100%" border="0" summary="list of modules">
-<tr><td><a href="http://github.com/esl/gproc/blob/master/doc/gproc.md" class="module">gproc</a></td></tr>
-<tr><td><a href="http://github.com/esl/gproc/blob/master/doc/gproc_app.md" class="module">gproc_app</a></td></tr>
-<tr><td><a href="http://github.com/esl/gproc/blob/master/doc/gproc_bcast.md" class="module">gproc_bcast</a></td></tr>
-<tr><td><a href="http://github.com/esl/gproc/blob/master/doc/gproc_dist.md" class="module">gproc_dist</a></td></tr>
-<tr><td><a href="http://github.com/esl/gproc/blob/master/doc/gproc_info.md" class="module">gproc_info</a></td></tr>
-<tr><td><a href="http://github.com/esl/gproc/blob/master/doc/gproc_init.md" class="module">gproc_init</a></td></tr>
-<tr><td><a href="http://github.com/esl/gproc/blob/master/doc/gproc_lib.md" class="module">gproc_lib</a></td></tr>
-<tr><td><a href="http://github.com/esl/gproc/blob/master/doc/gproc_monitor.md" class="module">gproc_monitor</a></td></tr>
-<tr><td><a href="http://github.com/esl/gproc/blob/master/doc/gproc_pool.md" class="module">gproc_pool</a></td></tr>
-<tr><td><a href="http://github.com/esl/gproc/blob/master/doc/gproc_ps.md" class="module">gproc_ps</a></td></tr>
-<tr><td><a href="http://github.com/esl/gproc/blob/master/doc/gproc_pt.md" class="module">gproc_pt</a></td></tr>
-<tr><td><a href="http://github.com/esl/gproc/blob/master/doc/gproc_sup.md" class="module">gproc_sup</a></td></tr></table>
+<tr><td><a href="http://github.com/uwiger/gproc/blob/master/doc/gproc.md" class="module">gproc</a></td></tr>
+<tr><td><a href="http://github.com/uwiger/gproc/blob/master/doc/gproc_app.md" class="module">gproc_app</a></td></tr>
+<tr><td><a href="http://github.com/uwiger/gproc/blob/master/doc/gproc_bcast.md" class="module">gproc_bcast</a></td></tr>
+<tr><td><a href="http://github.com/uwiger/gproc/blob/master/doc/gproc_dist.md" class="module">gproc_dist</a></td></tr>
+<tr><td><a href="http://github.com/uwiger/gproc/blob/master/doc/gproc_info.md" class="module">gproc_info</a></td></tr>
+<tr><td><a href="http://github.com/uwiger/gproc/blob/master/doc/gproc_init.md" class="module">gproc_init</a></td></tr>
+<tr><td><a href="http://github.com/uwiger/gproc/blob/master/doc/gproc_lib.md" class="module">gproc_lib</a></td></tr>
+<tr><td><a href="http://github.com/uwiger/gproc/blob/master/doc/gproc_monitor.md" class="module">gproc_monitor</a></td></tr>
+<tr><td><a href="http://github.com/uwiger/gproc/blob/master/doc/gproc_pool.md" class="module">gproc_pool</a></td></tr>
+<tr><td><a href="http://github.com/uwiger/gproc/blob/master/doc/gproc_ps.md" class="module">gproc_ps</a></td></tr>
+<tr><td><a href="http://github.com/uwiger/gproc/blob/master/doc/gproc_pt.md" class="module">gproc_pt</a></td></tr>
+<tr><td><a href="http://github.com/uwiger/gproc/blob/master/doc/gproc_sup.md" class="module">gproc_sup</a></td></tr></table>
 
 

+ 1 - 1
doc/README.md

@@ -2,7 +2,7 @@
 
 
 # The gproc application #
 # The gproc application #
 
 
-__Authors:__ Ulf Wiger ([`ulf.wiger@erlang-solutions.com`](mailto:ulf.wiger@erlang-solutions.com)), Joseph Wayne Norton ([`norton@geminimobile.com`](mailto:norton@geminimobile.com)).
+__Authors:__ Ulf Wiger ([`ulf@wiger.net`](mailto:ulf@wiger.net)), Joseph Wayne Norton ([`norton@geminimobile.com`](mailto:norton@geminimobile.com)).
 
 
 Extended process dictionary
 Extended process dictionary
 
 

+ 1 - 0
doc/edoc-info

@@ -1,3 +1,4 @@
+%% encoding: UTF-8
 {application,gproc}.
 {application,gproc}.
 {packages,[]}.
 {packages,[]}.
 {modules,[gproc,gproc_app,gproc_bcast,gproc_dist,gproc_info,gproc_init,
 {modules,[gproc,gproc_app,gproc_bcast,gproc_dist,gproc_info,gproc_init,

+ 67 - 201
doc/gproc.md

@@ -380,9 +380,7 @@ Registers a local shared (unique) counter.
 <pre><code>
 <pre><code>
 audit_process(Pid::pid()) -&gt; ok
 audit_process(Pid::pid()) -&gt; ok
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 <a name="await-1"></a>
 <a name="await-1"></a>
@@ -393,9 +391,7 @@ audit_process(Pid::pid()) -&gt; ok
 <pre><code>
 <pre><code>
 await(Key::<a href="#type-key">key()</a>) -&gt; {pid(), Value}
 await(Key::<a href="#type-key">key()</a>) -&gt; {pid(), Value}
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Equivalent to [`await(Key, infinity)`](#await-2).
 Equivalent to [`await(Key, infinity)`](#await-2).
 <a name="await-2"></a>
 <a name="await-2"></a>
@@ -440,9 +436,7 @@ down.
 <pre><code>
 <pre><code>
 bcast(Key::<a href="#type-key">key()</a>, Msg::any()) -&gt; Msg
 bcast(Key::<a href="#type-key">key()</a>, Msg::any()) -&gt; Msg
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Equivalent to [`bcast(nodes(), Key, Msg)`](#bcast-3).
 Equivalent to [`bcast(nodes(), Key, Msg)`](#bcast-3).
 <a name="bcast-3"></a>
 <a name="bcast-3"></a>
@@ -453,9 +447,7 @@ Equivalent to [`bcast(nodes(), Key, Msg)`](#bcast-3).
 <pre><code>
 <pre><code>
 bcast(Nodes::[atom()], Key::<a href="#type-key">key()</a>, Msg::any()) -&gt; Msg
 bcast(Nodes::[atom()], Key::<a href="#type-key">key()</a>, Msg::any()) -&gt; Msg
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Sends a message to processes corresponding to Key on Nodes.
 Sends a message to processes corresponding to Key on Nodes.
@@ -524,9 +516,7 @@ node.
 <pre><code>
 <pre><code>
 demonitor(Key::<a href="#type-key">key()</a>, Ref::reference()) -&gt; ok
 demonitor(Key::<a href="#type-key">key()</a>, Ref::reference()) -&gt; ok
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Remove a monitor on a registered name
 Remove a monitor on a registered name
 This function is the reverse of monitor/1. It removes a monitor previously
 This function is the reverse of monitor/1. It removes a monitor previously
@@ -539,9 +529,7 @@ set on a unique name. This function always succeeds given legal input.
 <pre><code>
 <pre><code>
 first(Context::<a href="#type-context">context()</a>) -&gt; <a href="#type-key">key()</a> | '$end_of_table'
 first(Context::<a href="#type-context">context()</a>) -&gt; <a href="#type-key">key()</a> | '$end_of_table'
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Behaves as ets:first(Tab) for a given type of registration.
 Behaves as ets:first(Tab) for a given type of registration.
@@ -557,9 +545,7 @@ The registry behaves as an ordered_set table.
 <pre><code>
 <pre><code>
 get_attribute(Key, Attribute::atom()) -&gt; Value
 get_attribute(Key, Attribute::atom()) -&gt; Value
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Get attribute value of `Attr` associated with `Key` for most likely Pid.
 Get attribute value of `Attr` associated with `Key` for most likely Pid.
@@ -576,9 +562,7 @@ An exception is raised if `Key` is not registered for the given process.
 <pre><code>
 <pre><code>
 get_attribute(Key, Pid::pid() | shared, Attr::atom()) -&gt; Value
 get_attribute(Key, Pid::pid() | shared, Attr::atom()) -&gt; Value
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Get the attribute value of `Attr` associated with `Key` for process Pid.
 Get the attribute value of `Attr` associated with `Key` for process Pid.
@@ -594,9 +578,7 @@ will be read.
 <pre><code>
 <pre><code>
 get_attribute_shared(Key, Attr::atom()) -&gt; Value
 get_attribute_shared(Key, Attr::atom()) -&gt; Value
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Get the attribute value of `Attr` associated with the shared `Key`.
 Get the attribute value of `Attr` associated with the shared `Key`.
@@ -612,9 +594,7 @@ Equivalent to `get_attribute(Key, shared, Attr)`
 <pre><code>
 <pre><code>
 get_attributes(Key::<a href="#type-key">key()</a>) -&gt; [{K, V}]
 get_attributes(Key::<a href="#type-key">key()</a>) -&gt; [{K, V}]
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Equivalent to [`get_attributes(Key, self())`](#get_attributes-2).
 Equivalent to [`get_attributes(Key, self())`](#get_attributes-2).
 
 
@@ -627,9 +607,7 @@ Get attributes associated with registration.
 <pre><code>
 <pre><code>
 get_attributes(Key::<a href="#type-key">key()</a>, Pid::pid() | shared) -&gt; [{K, V}]
 get_attributes(Key::<a href="#type-key">key()</a>, Pid::pid() | shared) -&gt; [{K, V}]
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Returns the list of attributes associated with the registration.
 Returns the list of attributes associated with the registration.
@@ -646,9 +624,7 @@ registration.
 <pre><code>
 <pre><code>
 get_env(Scope::<a href="#type-scope">scope()</a>, App::atom(), Key::atom()) -&gt; term()
 get_env(Scope::<a href="#type-scope">scope()</a>, App::atom(), Key::atom()) -&gt; term()
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Equivalent to [`get_env(Scope, App, Key, [app_env])`](#get_env-4).
 Equivalent to [`get_env(Scope, App, Key, [app_env])`](#get_env-4).
 <a name="get_env-4"></a>
 <a name="get_env-4"></a>
@@ -719,9 +695,7 @@ e.g. `get_env(l, mnesia, dir, [app_env, error])`.
 <pre><code>
 <pre><code>
 get_set_env(Scope::<a href="#type-scope">scope()</a>, App::atom(), Key::atom()) -&gt; term()
 get_set_env(Scope::<a href="#type-scope">scope()</a>, App::atom(), Key::atom()) -&gt; term()
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Equivalent to [`get_set_env(Scope, App, Key, [app_env])`](#get_set_env-4).
 Equivalent to [`get_set_env(Scope, App, Key, [app_env])`](#get_set_env-4).
 <a name="get_set_env-4"></a>
 <a name="get_set_env-4"></a>
@@ -732,9 +706,7 @@ Equivalent to [`get_set_env(Scope, App, Key, [app_env])`](#get_set_env-4).
 <pre><code>
 <pre><code>
 get_set_env(Scope::<a href="#type-scope">scope()</a>, App::atom(), Key::atom(), Strategy) -&gt; Value
 get_set_env(Scope::<a href="#type-scope">scope()</a>, App::atom(), Key::atom(), Strategy) -&gt; Value
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Fetch and cache an environment value, if not already cached.
 Fetch and cache an environment value, if not already cached.
@@ -754,9 +726,7 @@ __See also:__ [get_env/4](#get_env-4).
 <pre><code>
 <pre><code>
 get_value(Key) -&gt; Value
 get_value(Key) -&gt; Value
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Reads the value stored with a key registered to the current process.
 Reads the value stored with a key registered to the current process.
@@ -771,9 +741,7 @@ If no such key is registered to the current process, this function exits.
 <pre><code>
 <pre><code>
 get_value(Key, Pid) -&gt; Value
 get_value(Key, Pid) -&gt; Value
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Reads the value stored with a key registered to the process Pid.
 Reads the value stored with a key registered to the process Pid.
@@ -789,9 +757,7 @@ will be read.
 <pre><code>
 <pre><code>
 get_value_shared(Key) -&gt; Value
 get_value_shared(Key) -&gt; Value
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Reads the value stored with a shared key.
 Reads the value stored with a shared key.
@@ -806,9 +772,7 @@ If no such shared key is registered, this function exits.
 <pre><code>
 <pre><code>
 give_away(From::<a href="#type-key">key()</a>, To::pid() | <a href="#type-key">key()</a>) -&gt; undefined | pid()
 give_away(From::<a href="#type-key">key()</a>, To::pid() | <a href="#type-key">key()</a>) -&gt; undefined | pid()
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Atomically transfers the key `From` to the process identified by `To`.
 Atomically transfers the key `From` to the process identified by `To`.
@@ -841,9 +805,7 @@ registered.
 <pre><code>
 <pre><code>
 goodbye() -&gt; ok
 goodbye() -&gt; ok
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Unregister all items of the calling process and inform gproc
 Unregister all items of the calling process and inform gproc
@@ -860,9 +822,7 @@ cleanup operations.
 <pre><code>
 <pre><code>
 i() -&gt; ok
 i() -&gt; ok
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Similar to the built-in shell command `i()` but inserts information
 Similar to the built-in shell command `i()` but inserts information
 about names and properties registered in Gproc, where applicable.
 about names and properties registered in Gproc, where applicable.
@@ -892,9 +852,7 @@ pairs registered to the process.
 <pre><code>
 <pre><code>
 info(Pid::pid(), Item::atom()) -&gt; {Item, Info}
 info(Pid::pid(), Item::atom()) -&gt; {Item, Info}
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Similar to process_info(Pid, Item), but with additional gproc info.
 Similar to process_info(Pid, Item), but with additional gproc info.
@@ -911,9 +869,7 @@ same as [`http://www.erlang.org/doc/man/erlang.html#process_info-2`](http://www.
 <pre><code>
 <pre><code>
 last(Context::<a href="#type-context">context()</a>) -&gt; <a href="#type-key">key()</a> | '$end_of_table'
 last(Context::<a href="#type-context">context()</a>) -&gt; <a href="#type-key">key()</a> | '$end_of_table'
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Behaves as ets:last(Tab) for a given type of registration.
 Behaves as ets:last(Tab) for a given type of registration.
@@ -929,9 +885,7 @@ The registry behaves as an ordered_set table.
 <pre><code>
 <pre><code>
 lookup_global_aggr_counter(Name::any()) -&gt; integer()
 lookup_global_aggr_counter(Name::any()) -&gt; integer()
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Equivalent to [`lookup_value({a, g, Name})`](#lookup_value-1).
 Equivalent to [`lookup_value({a, g, Name})`](#lookup_value-1).
 
 
@@ -945,9 +899,7 @@ Fails if there is no such object.
 <pre><code>
 <pre><code>
 lookup_global_counters(Counter::any()) -&gt; [{pid(), Value::integer()}]
 lookup_global_counters(Counter::any()) -&gt; [{pid(), Value::integer()}]
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Equivalent to [`lookup_values({c, g, Counter})`](#lookup_values-1).
 Equivalent to [`lookup_values({c, g, Counter})`](#lookup_values-1).
 
 
@@ -961,9 +913,7 @@ Returns a list of {Pid, Value} tuples for all matching objects.
 <pre><code>
 <pre><code>
 lookup_global_name(Name::any()) -&gt; pid()
 lookup_global_name(Name::any()) -&gt; pid()
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Equivalent to [`where({n, g, Name})`](#where-1).
 Equivalent to [`where({n, g, Name})`](#where-1).
 
 
@@ -976,9 +926,7 @@ Lookup a global unique name. Fails if there is no such name.
 <pre><code>
 <pre><code>
 lookup_global_properties(Property::any()) -&gt; [{pid(), Value}]
 lookup_global_properties(Property::any()) -&gt; [{pid(), Value}]
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Equivalent to [`lookup_values({p, g, Property})`](#lookup_values-1).
 Equivalent to [`lookup_values({p, g, Property})`](#lookup_values-1).
 
 
@@ -992,9 +940,7 @@ Returns a list of {Pid, Value} tuples for all matching objects.
 <pre><code>
 <pre><code>
 lookup_local_aggr_counter(Name::any()) -&gt; integer()
 lookup_local_aggr_counter(Name::any()) -&gt; integer()
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Equivalent to [`where({a, l, Name})`](#where-1).
 Equivalent to [`where({a, l, Name})`](#where-1).
 
 
@@ -1008,9 +954,7 @@ Fails if there is no such object.
 <pre><code>
 <pre><code>
 lookup_local_counters(Counter::any()) -&gt; [{pid(), Value::integer()}]
 lookup_local_counters(Counter::any()) -&gt; [{pid(), Value::integer()}]
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Equivalent to [`lookup_values({c, l, Counter})`](#lookup_values-1).
 Equivalent to [`lookup_values({c, l, Counter})`](#lookup_values-1).
 
 
@@ -1024,9 +968,7 @@ Returns a list of {Pid, Value} tuples for all matching objects.
 <pre><code>
 <pre><code>
 lookup_local_name(Name::any()) -&gt; pid()
 lookup_local_name(Name::any()) -&gt; pid()
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Equivalent to [`where({n, l, Name})`](#where-1).
 Equivalent to [`where({n, l, Name})`](#where-1).
 
 
@@ -1039,9 +981,7 @@ Lookup a local unique name. Fails if there is no such name.
 <pre><code>
 <pre><code>
 lookup_local_properties(Property::any()) -&gt; [{pid(), Value}]
 lookup_local_properties(Property::any()) -&gt; [{pid(), Value}]
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Equivalent to [`lookup_values({p, l, Property})`](#lookup_values-1).
 Equivalent to [`lookup_values({p, l, Property})`](#lookup_values-1).
 
 
@@ -1055,9 +995,7 @@ Returns a list of {Pid, Value} tuples for all matching objects.
 <pre><code>
 <pre><code>
 lookup_pid(Key) -&gt; Pid
 lookup_pid(Key) -&gt; Pid
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Lookup the Pid stored with a key.
 Lookup the Pid stored with a key.
 
 
@@ -1069,9 +1007,7 @@ Lookup the Pid stored with a key.
 <pre><code>
 <pre><code>
 lookup_pids(Key::<a href="#type-key">key()</a>) -&gt; [pid()]
 lookup_pids(Key::<a href="#type-key">key()</a>) -&gt; [pid()]
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Returns a list of pids with the published key Key
 Returns a list of pids with the published key Key
@@ -1093,9 +1029,7 @@ therefore be excluded.
 <pre><code>
 <pre><code>
 lookup_value(Key) -&gt; Value
 lookup_value(Key) -&gt; Value
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Lookup the value stored with a key.
 Lookup the value stored with a key.
 
 
@@ -1107,9 +1041,7 @@ Lookup the value stored with a key.
 <pre><code>
 <pre><code>
 lookup_values(Key::<a href="#type-key">key()</a>) -&gt; [{pid(), Value}]
 lookup_values(Key::<a href="#type-key">key()</a>) -&gt; [{pid(), Value}]
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Retrieve the `{Pid,Value}` pairs corresponding to Key.
 Retrieve the `{Pid,Value}` pairs corresponding to Key.
@@ -1133,9 +1065,7 @@ Equivalent to [`monitor(Key, info)`](#monitor-2).
 <pre><code>
 <pre><code>
 monitor(Key::<a href="#type-key">key()</a>, Type::<a href="#type-monitor_type">monitor_type()</a>) -&gt; reference()
 monitor(Key::<a href="#type-key">key()</a>, Type::<a href="#type-monitor_type">monitor_type()</a>) -&gt; reference()
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 monitor a registered name
 monitor a registered name
@@ -1173,9 +1103,7 @@ process registers the name.
 <pre><code>
 <pre><code>
 mreg(T::<a href="#type-type">type()</a>, C::<a href="#type-scope">scope()</a>, KVL::[{Key::any(), Value::any()}]) -&gt; true
 mreg(T::<a href="#type-type">type()</a>, C::<a href="#type-scope">scope()</a>, KVL::[{Key::any(), Value::any()}]) -&gt; true
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Register multiple {Key,Value} pairs of a given type and scope.
 Register multiple {Key,Value} pairs of a given type and scope.
@@ -1192,9 +1120,7 @@ or none are.
 <pre><code>
 <pre><code>
 munreg(T::<a href="#type-type">type()</a>, C::<a href="#type-scope">scope()</a>, L::[Key::any()]) -&gt; true
 munreg(T::<a href="#type-type">type()</a>, C::<a href="#type-scope">scope()</a>, L::[Key::any()]) -&gt; true
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Unregister multiple Key items of a given type and scope.
 Unregister multiple Key items of a given type and scope.
@@ -1210,9 +1136,7 @@ repeatedly.
 <pre><code>
 <pre><code>
 nb_wait(Key::<a href="#type-key">key()</a>) -&gt; Ref
 nb_wait(Key::<a href="#type-key">key()</a>) -&gt; Ref
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Wait for a local name to be registered.
 Wait for a local name to be registered.
 The caller can expect to receive a message,
 The caller can expect to receive a message,
@@ -1225,9 +1149,7 @@ The caller can expect to receive a message,
 <pre><code>
 <pre><code>
 nb_wait(Node::node(), Key::<a href="#type-key">key()</a>) -&gt; Ref
 nb_wait(Node::node(), Key::<a href="#type-key">key()</a>) -&gt; Ref
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Wait for a local name to be registered on `Node`.
 Wait for a local name to be registered on `Node`.
 The caller can expect to receive a message,
 The caller can expect to receive a message,
@@ -1240,9 +1162,7 @@ The caller can expect to receive a message,
 <pre><code>
 <pre><code>
 next(Context::<a href="#type-context">context()</a>, Key::<a href="#type-key">key()</a>) -&gt; <a href="#type-key">key()</a> | '$end_of_table'
 next(Context::<a href="#type-context">context()</a>, Key::<a href="#type-key">key()</a>) -&gt; <a href="#type-key">key()</a> | '$end_of_table'
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Behaves as ets:next(Tab,Key) for a given type of registration.
 Behaves as ets:next(Tab,Key) for a given type of registration.
@@ -1258,9 +1178,7 @@ The registry behaves as an ordered_set table.
 <pre><code>
 <pre><code>
 prev(Context::<a href="#type-context">context()</a>, Key::<a href="#type-key">key()</a>) -&gt; <a href="#type-key">key()</a> | '$end_of_table'
 prev(Context::<a href="#type-context">context()</a>, Key::<a href="#type-key">key()</a>) -&gt; <a href="#type-key">key()</a> | '$end_of_table'
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Behaves as ets:prev(Tab,Key) for a given type of registration.
 Behaves as ets:prev(Tab,Key) for a given type of registration.
@@ -1276,9 +1194,7 @@ The registry behaves as an ordered_set table.
 <pre><code>
 <pre><code>
 reg(Key::<a href="#type-key">key()</a>) -&gt; true
 reg(Key::<a href="#type-key">key()</a>) -&gt; true
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Equivalent to [`reg(Key, default(Key))`](#reg-2).
 Equivalent to [`reg(Key, default(Key))`](#reg-2).
 <a name="reg-2"></a>
 <a name="reg-2"></a>
@@ -1289,9 +1205,7 @@ Equivalent to [`reg(Key, default(Key))`](#reg-2).
 <pre><code>
 <pre><code>
 reg(Key::<a href="#type-key">key()</a>, Value) -&gt; true
 reg(Key::<a href="#type-key">key()</a>, Value) -&gt; true
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Register a name or property for the current process
 Register a name or property for the current process
@@ -1306,9 +1220,7 @@ Register a name or property for the current process
 <pre><code>
 <pre><code>
 reg_or_locate(Key::<a href="#type-key">key()</a>) -&gt; true
 reg_or_locate(Key::<a href="#type-key">key()</a>) -&gt; true
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Equivalent to [`reg_or_locate(Key, default(Key))`](#reg_or_locate-2).
 Equivalent to [`reg_or_locate(Key, default(Key))`](#reg_or_locate-2).
 <a name="reg_or_locate-2"></a>
 <a name="reg_or_locate-2"></a>
@@ -1319,9 +1231,7 @@ Equivalent to [`reg_or_locate(Key, default(Key))`](#reg_or_locate-2).
 <pre><code>
 <pre><code>
 reg_or_locate(Key::<a href="#type-key">key()</a>, Value) -&gt; {pid(), NewValue}
 reg_or_locate(Key::<a href="#type-key">key()</a>, Value) -&gt; {pid(), NewValue}
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Try registering a unique name, or return existing registration.
 Try registering a unique name, or return existing registration.
@@ -1338,9 +1248,7 @@ the current registration is returned instead.
 <pre><code>
 <pre><code>
 reg_or_locate(Key::<a href="#type-key">key()</a>, Value, Fun::function()) -&gt; {pid(), NewValue}
 reg_or_locate(Key::<a href="#type-key">key()</a>, Value, Fun::function()) -&gt; {pid(), NewValue}
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Spawn a process with a registered name, or return existing registration.
 Spawn a process with a registered name, or return existing registration.
@@ -1363,9 +1271,7 @@ process is set to the group_leader of the calling process.
 <pre><code>
 <pre><code>
 reg_shared(Key::<a href="#type-key">key()</a>) -&gt; true
 reg_shared(Key::<a href="#type-key">key()</a>) -&gt; true
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Register a resource, but don't tie it to a particular process.
 Register a resource, but don't tie it to a particular process.
@@ -1381,9 +1287,7 @@ Register a resource, but don't tie it to a particular process.
 <pre><code>
 <pre><code>
 reg_shared(Key::<a href="#type-key">key()</a>, Value) -&gt; true
 reg_shared(Key::<a href="#type-key">key()</a>, Value) -&gt; true
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Register a resource, but don't tie it to a particular process.
 Register a resource, but don't tie it to a particular process.
@@ -1408,9 +1312,7 @@ an aggregated counter which is owned by a process.
 <pre><code>
 <pre><code>
 register_name(Name::<a href="#type-key">key()</a>, Pid::pid()) -&gt; yes | no
 register_name(Name::<a href="#type-key">key()</a>, Pid::pid()) -&gt; yes | no
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Behaviour support callback
 Behaviour support callback
 <a name="reset_counter-1"></a>
 <a name="reset_counter-1"></a>
@@ -1477,9 +1379,7 @@ representation for the gproc select operations is given by
 <pre><code>
 <pre><code>
 select(Context::<a href="#type-context">context()</a>, Pat::<a href="#type-sel_pattern">sel_pattern()</a>) -&gt; [{Key, Pid, Value}]
 select(Context::<a href="#type-context">context()</a>, Pat::<a href="#type-sel_pattern">sel_pattern()</a>) -&gt; [{Key, Pid, Value}]
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Perform a select operation with limited context on the process registry
 Perform a select operation with limited context on the process registry
@@ -1506,9 +1406,7 @@ variable substitution and ensure that the scan is limited.
 <pre><code>
 <pre><code>
 select(Context::<a href="#type-context">context()</a>, Pat::<a href="#type-sel_patten">sel_patten()</a>, Limit::integer()) -&gt; {[Match], Continuation} | '$end_of_table'
 select(Context::<a href="#type-context">context()</a>, Pat::<a href="#type-sel_patten">sel_patten()</a>, Limit::integer()) -&gt; {[Match], Continuation} | '$end_of_table'
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Like [`select/2`](#select-2) but returns Limit objects at a time.
 Like [`select/2`](#select-2) but returns Limit objects at a time.
@@ -1523,9 +1421,7 @@ See [`http://www.erlang.org/doc/man/ets.html#select-3`](http://www.erlang.org/do
 <pre><code>
 <pre><code>
 select_count(Pat::<a href="#type-sel_pattern">sel_pattern()</a>) -&gt; [<a href="#type-sel_object">sel_object()</a>]
 select_count(Pat::<a href="#type-sel_pattern">sel_pattern()</a>) -&gt; [<a href="#type-sel_object">sel_object()</a>]
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Equivalent to [`select_count(all, Pat)`](#select_count-2).
 Equivalent to [`select_count(all, Pat)`](#select_count-2).
 <a name="select_count-2"></a>
 <a name="select_count-2"></a>
@@ -1536,9 +1432,7 @@ Equivalent to [`select_count(all, Pat)`](#select_count-2).
 <pre><code>
 <pre><code>
 select_count(Context::<a href="#type-context">context()</a>, Pat::<a href="#type-sel_pattern">sel_pattern()</a>) -&gt; [{Key, Pid, Value}]
 select_count(Context::<a href="#type-context">context()</a>, Pat::<a href="#type-sel_pattern">sel_pattern()</a>) -&gt; [{Key, Pid, Value}]
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Perform a select_count operation on the process registry.
 Perform a select_count operation on the process registry.
@@ -1554,9 +1448,7 @@ but the select patterns are transformed appropriately.
 <pre><code>
 <pre><code>
 send(Key::<a href="#type-process">process()</a> | <a href="#type-key">key()</a>, Msg::any()) -&gt; Msg
 send(Key::<a href="#type-process">process()</a> | <a href="#type-key">key()</a>, Msg::any()) -&gt; Msg
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Sends a message to the process, or processes, corresponding to Key.
 Sends a message to the process, or processes, corresponding to Key.
@@ -1579,9 +1471,7 @@ identifier, namely a pid(), an atom(), or `{Name::atom(), Node::atom()}`.
 <pre><code>
 <pre><code>
 set_attributes(Key::<a href="#type-key">key()</a>, Props::[{atom(), any()}]) -&gt; true
 set_attributes(Key::<a href="#type-key">key()</a>, Props::[{atom(), any()}]) -&gt; true
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Add/modify `{Key, Value}` attributes associated with a registration.
 Add/modify `{Key, Value}` attributes associated with a registration.
@@ -1602,9 +1492,7 @@ Attributs can be retrieved using `gproc:get_attribute/3` or
 <pre><code>
 <pre><code>
 set_attributes_shared(Key::<a href="#type-key">key()</a>, Props::[{K, V}]) -&gt; true
 set_attributes_shared(Key::<a href="#type-key">key()</a>, Props::[{K, V}]) -&gt; true
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Add/modify `{Key, Value}` attributes associated with a shared registration.
 Add/modify `{Key, Value}` attributes associated with a shared registration.
@@ -1651,9 +1539,7 @@ to `undefined`.
 <pre><code>
 <pre><code>
 set_value(Key::<a href="#type-key">key()</a>, Value) -&gt; true
 set_value(Key::<a href="#type-key">key()</a>, Value) -&gt; true
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Sets the value of the registration given by Key
 Sets the value of the registration given by Key
@@ -1674,9 +1560,7 @@ it must be an integer.
 <pre><code>
 <pre><code>
 set_value_shared(Key::<a href="#type-key">key()</a>, Value) -&gt; true
 set_value_shared(Key::<a href="#type-key">key()</a>, Value) -&gt; true
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Sets the value of the shared registration given by Key
 Sets the value of the shared registration given by Key
@@ -1697,9 +1581,7 @@ it must be an integer.
 <pre><code>
 <pre><code>
 start_link() -&gt; {ok, pid()}
 start_link() -&gt; {ok, pid()}
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Starts the gproc server.
 Starts the gproc server.
@@ -1715,9 +1597,7 @@ starting the gproc application.
 <pre><code>
 <pre><code>
 table() -&gt; any()
 table() -&gt; any()
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Equivalent to [`table({all, all})`](#table-1).
 Equivalent to [`table({all, all})`](#table-1).
 <a name="table-1"></a>
 <a name="table-1"></a>
@@ -1728,9 +1608,7 @@ Equivalent to [`table({all, all})`](#table-1).
 <pre><code>
 <pre><code>
 table(Context::<a href="#type-context">context()</a>) -&gt; any()
 table(Context::<a href="#type-context">context()</a>) -&gt; any()
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Equivalent to [`table(Context, [])`](#table-2).
 Equivalent to [`table(Context, [])`](#table-2).
 <a name="table-2"></a>
 <a name="table-2"></a>
@@ -1741,9 +1619,7 @@ Equivalent to [`table(Context, [])`](#table-2).
 <pre><code>
 <pre><code>
 table(Context::<a href="#type-context">context()</a>, Opts) -&gt; any()
 table(Context::<a href="#type-context">context()</a>, Opts) -&gt; any()
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 QLC table generator for the gproc registry.
 QLC table generator for the gproc registry.
@@ -1767,9 +1643,7 @@ entries in the list by the time your program processes it.
 <pre><code>
 <pre><code>
 unreg(Key::<a href="#type-key">key()</a>) -&gt; true
 unreg(Key::<a href="#type-key">key()</a>) -&gt; true
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Unregister a name or property.
 Unregister a name or property.
 <a name="unreg_shared-1"></a>
 <a name="unreg_shared-1"></a>
@@ -1780,9 +1654,7 @@ Unregister a name or property.
 <pre><code>
 <pre><code>
 unreg_shared(Key::<a href="#type-key">key()</a>) -&gt; true
 unreg_shared(Key::<a href="#type-key">key()</a>) -&gt; true
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Unregister a shared resource.
 Unregister a shared resource.
 <a name="unregister_name-1"></a>
 <a name="unregister_name-1"></a>
@@ -1800,9 +1672,7 @@ Equivalent to `unreg / 1`.
 <pre><code>
 <pre><code>
 update_counter(Key::<a href="#type-key">key()</a>, Incr::<a href="#type-increment">increment()</a>) -&gt; integer()
 update_counter(Key::<a href="#type-key">key()</a>, Incr::<a href="#type-increment">increment()</a>) -&gt; integer()
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Updates the counter registered as Key for the current process.
 Updates the counter registered as Key for the current process.
@@ -1842,9 +1712,7 @@ appropriate value type.
 <pre><code>
 <pre><code>
 update_counters(X1::<a href="#type-scope">scope()</a>, Cs::[{<a href="#type-key">key()</a>, pid(), <a href="#type-increment">increment()</a>}]) -&gt; [{<a href="#type-key">key()</a>, pid(), integer()}]
 update_counters(X1::<a href="#type-scope">scope()</a>, Cs::[{<a href="#type-key">key()</a>, pid(), <a href="#type-increment">increment()</a>}]) -&gt; [{<a href="#type-key">key()</a>, pid(), integer()}]
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Update a list of counters
 Update a list of counters
@@ -1889,9 +1757,7 @@ that the position is omitted; in gproc, the value position is always `3`.
 <pre><code>
 <pre><code>
 where(Key::<a href="#type-key">key()</a>) -&gt; pid()
 where(Key::<a href="#type-key">key()</a>) -&gt; pid()
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Returns the pid registered as Key
 Returns the pid registered as Key

+ 6 - 6
doc/gproc_dist.md

@@ -1,3 +1,5 @@
+
+
 # Module gproc_dist #
 # Module gproc_dist #
 * [Description](#description)
 * [Description](#description)
 * [Function Index](#index)
 * [Function Index](#index)
@@ -76,9 +78,7 @@ Scope = l | g (global or local).</td></tr><tr><td valign="top"><a href="#reg_or_
 <pre><code>
 <pre><code>
 get_leader() -&gt; node()
 get_leader() -&gt; node()
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Returns the node of the current gproc leader.
 Returns the node of the current gproc leader.
 <a name="give_away-2"></a>
 <a name="give_away-2"></a>
@@ -276,9 +276,7 @@ Scope = l | g (global or local)
 <pre><code>
 <pre><code>
 sync() -&gt; true
 sync() -&gt; true
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Synchronize with the gproc leader
 Synchronize with the gproc leader
@@ -332,3 +330,5 @@ the leader died.)
 ### update_shared_counter/2 ###
 ### update_shared_counter/2 ###
 
 
 `update_shared_counter(Key, Incr) -> any()`
 `update_shared_counter(Key, Incr) -> any()`
+
+

+ 2 - 4
doc/gproc_info.md

@@ -4,7 +4,7 @@
 * [Function Index](#index)
 * [Function Index](#index)
 * [Function Details](#functions)
 * [Function Details](#functions)
 
 
-__Authors:__ Ulf Wiger ([`ulf.wiger@erlang-solutions.com`](mailto:ulf.wiger@erlang-solutions.com)).
+__Authors:__ Ulf Wiger ([`ulf@wiger.net`](mailto:ulf@wiger.net)).
 <a name="index"></a>
 <a name="index"></a>
 
 
 ## Function Index ##
 ## Function Index ##
@@ -25,8 +25,6 @@ __Authors:__ Ulf Wiger ([`ulf.wiger@erlang-solutions.com`](mailto:ulf.wiger@erla
 <pre><code>
 <pre><code>
 i() -&gt; ok
 i() -&gt; ok
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 

+ 2 - 6
doc/gproc_init.md

@@ -25,9 +25,7 @@
 <pre><code>
 <pre><code>
 hard_reset() -&gt; ok
 hard_reset() -&gt; ok
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 <a name="soft_reset-0"></a>
 <a name="soft_reset-0"></a>
@@ -38,8 +36,6 @@ hard_reset() -&gt; ok
 <pre><code>
 <pre><code>
 soft_reset() -&gt; ok
 soft_reset() -&gt; ok
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 

+ 2 - 6
doc/gproc_lib.md

@@ -92,9 +92,7 @@ For a detailed description, see gproc/doc/erlang07-wiger.pdf.
 <pre><code>
 <pre><code>
 insert_many(T::<a href="#type-type">type()</a>, Scope::<a href="#type-scope">scope()</a>, KVL::[{<a href="#type-key">key()</a>, any()}], Pid::pid()) -&gt; {true, list()} | false
 insert_many(T::<a href="#type-type">type()</a>, Scope::<a href="#type-scope">scope()</a>, KVL::[{<a href="#type-key">key()</a>, any()}], Pid::pid()) -&gt; {true, list()} | false
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 <a name="insert_reg-4"></a>
 <a name="insert_reg-4"></a>
@@ -105,9 +103,7 @@ insert_many(T::<a href="#type-type">type()</a>, Scope::<a href="#type-scope">sco
 <pre><code>
 <pre><code>
 insert_reg(K::<a href="#type-key">key()</a>, Value::any(), Pid::pid() | shared, Scope::<a href="#type-scope">scope()</a>) -&gt; boolean()
 insert_reg(K::<a href="#type-key">key()</a>, Value::any(), Pid::pid() | shared, Scope::<a href="#type-scope">scope()</a>) -&gt; boolean()
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 <a name="insert_reg-5"></a>
 <a name="insert_reg-5"></a>

+ 3 - 9
doc/gproc_monitor.md

@@ -36,9 +36,7 @@ Unsubscribe from registration events for a certain name.</td></tr></table>
 <pre><code>
 <pre><code>
 start_link() -&gt; {ok, Pid} | ignore | {error, Error}
 start_link() -&gt; {ok, Pid} | ignore | {error, Error}
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Starts the server
 Starts the server
@@ -51,9 +49,7 @@ Starts the server
 <pre><code>
 <pre><code>
 subscribe(Key::<a href="#type-key">key()</a>) -&gt; ok
 subscribe(Key::<a href="#type-key">key()</a>) -&gt; ok
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 
 
@@ -77,9 +73,7 @@ sent immediately, indicating the current status of the name.
 <pre><code>
 <pre><code>
 unsubscribe(Key::<a href="#type-key">key()</a>) -&gt; ok
 unsubscribe(Key::<a href="#type-key">key()</a>) -&gt; ok
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 
 

+ 20 - 60
doc/gproc_pool.md

@@ -78,9 +78,7 @@ jobs will not exceed the size of the pool.<a name="index"></a>
 <pre><code>
 <pre><code>
 active_workers(Pool::any()) -&gt; [{Name, Pid}]
 active_workers(Pool::any()) -&gt; [{Name, Pid}]
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Return a list of currently connected workers in the pool.
 Return a list of currently connected workers in the pool.
 
 
@@ -92,9 +90,7 @@ Return a list of currently connected workers in the pool.
 <pre><code>
 <pre><code>
 add_worker(Pool::any(), Name::any()) -&gt; integer()
 add_worker(Pool::any(), Name::any()) -&gt; integer()
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Assign a worker name to the pool, returning the worker's position.
 Assign a worker name to the pool, returning the worker's position.
@@ -124,9 +120,7 @@ Before a worker can be used, a process must connect to it (see
 <pre><code>
 <pre><code>
 add_worker(Pool::any(), Name::any(), Slot::integer()) -&gt; integer()
 add_worker(Pool::any(), Name::any(), Slot::integer()) -&gt; integer()
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Assign a worker name to a given slot in the pool, returning the slot.
 Assign a worker name to a given slot in the pool, returning the slot.
@@ -145,9 +139,7 @@ otherwise the pool is expanded to accomodate the new position.
 <pre><code>
 <pre><code>
 claim(Pool::any(), Fun::function()) -&gt; {true, Res} | false
 claim(Pool::any(), Fun::function()) -&gt; {true, Res} | false
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Picks the first available worker in the pool and applies `Fun`.
 Picks the first available worker in the pool and applies `Fun`.
@@ -168,9 +160,7 @@ implemented using `gproc:update_counter/2`.
 <pre><code>
 <pre><code>
 connect_worker(Pool::any(), Name::any()) -&gt; true
 connect_worker(Pool::any(), Name::any()) -&gt; true
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Connect the current process to `Name` in `Pool`.
 Connect the current process to `Name` in `Pool`.
@@ -196,9 +186,7 @@ there is no such pool), or if another worker is already connected to
 <pre><code>
 <pre><code>
 defined_workers(Pool::any()) -&gt; [{Name, Pos, Count}]
 defined_workers(Pool::any()) -&gt; [{Name, Pos, Count}]
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Return a list of added workers in the pool.
 Return a list of added workers in the pool.
@@ -222,9 +210,7 @@ calling [`log/1`](#log-1)).
 <pre><code>
 <pre><code>
 delete(Pool::any()) -&gt; true
 delete(Pool::any()) -&gt; true
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Delete an existing pool.
 Delete an existing pool.
@@ -240,9 +226,7 @@ Ensure that workers have been disconnected before deleting the pool.
 <pre><code>
 <pre><code>
 disconnect_worker(Pool, Name) -&gt; true
 disconnect_worker(Pool, Name) -&gt; true
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Disconnect the current process from `Name` in `Pool`.
 Disconnect the current process from `Name` in `Pool`.
@@ -264,9 +248,7 @@ An exception is raised if there is no prior connection between `Pool`,
 <pre><code>
 <pre><code>
 force_delete(Pool::any()) -&gt; true
 force_delete(Pool::any()) -&gt; true
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Forcibly remove a pool, terminating all active workers
 Forcibly remove a pool, terminating all active workers
@@ -284,9 +266,7 @@ workers (except the calling process).
 <pre><code>
 <pre><code>
 log(X1::GprocKey) -&gt; integer()
 log(X1::GprocKey) -&gt; integer()
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Update a counter associated with a worker name.
 Update a counter associated with a worker name.
@@ -304,9 +284,7 @@ if the currently connected worker dies.
 <pre><code>
 <pre><code>
 new(Pool::any()) -&gt; ok
 new(Pool::any()) -&gt; ok
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Equivalent to [`new(Pool, round_robin, [])`](#new-3).
 Equivalent to [`new(Pool, round_robin, [])`](#new-3).
 <a name="new-3"></a>
 <a name="new-3"></a>
@@ -342,9 +320,7 @@ If the given pool already exists, this function will raise an exception.
 <pre><code>
 <pre><code>
 pick(Pool::any()) -&gt; GprocName | false
 pick(Pool::any()) -&gt; GprocName | false
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Pick a worker from the pool given the pool's load-balancing algorithm.
 Pick a worker from the pool given the pool's load-balancing algorithm.
@@ -361,9 +337,7 @@ worker, or if `Pool` is not a valid pool.
 <pre><code>
 <pre><code>
 pick(Pool::any(), Value::any()) -&gt; GprocName | false
 pick(Pool::any(), Value::any()) -&gt; GprocName | false
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Pick a worker from the pool based on `Value`.
 Pick a worker from the pool based on `Value`.
@@ -387,9 +361,7 @@ selecting a worker.
 <pre><code>
 <pre><code>
 pick_worker(Pool::any()) -&gt; pid() | false
 pick_worker(Pool::any()) -&gt; pid() | false
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Pick a worker pid from the pool given the pool's load-balancing algorithm.
 Pick a worker pid from the pool given the pool's load-balancing algorithm.
@@ -404,9 +376,7 @@ Like [`pick/1`](#pick-1), but returns the worker pid instead of the name.
 <pre><code>
 <pre><code>
 pick_worker(Pool::any(), Value::any()) -&gt; pid() | false
 pick_worker(Pool::any(), Value::any()) -&gt; pid() | false
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Pick a worker pid from the pool given the pool's load-balancing algorithm.
 Pick a worker pid from the pool given the pool's load-balancing algorithm.
@@ -428,9 +398,7 @@ Like [`pick/2`](#pick-2), but returns the worker pid instead of the name.
 <pre><code>
 <pre><code>
 randomize(Pool::any()) -&gt; integer()
 randomize(Pool::any()) -&gt; integer()
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Randomizes the "next" pointer for the pool.
 Randomizes the "next" pointer for the pool.
@@ -447,9 +415,7 @@ balancing will always start with the first worker in the pool.
 <pre><code>
 <pre><code>
 remove_worker(Pool::any(), Name::any()) -&gt; true
 remove_worker(Pool::any(), Name::any()) -&gt; true
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Remove a previously added worker.
 Remove a previously added worker.
@@ -473,9 +439,7 @@ when `Name` did not exist in the pool in the first place.
 <pre><code>
 <pre><code>
 whereis_worker(Pool::any(), Name::any()) -&gt; pid() | undefined
 whereis_worker(Pool::any(), Name::any()) -&gt; pid() | undefined
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Look up the pid of a connected worker.
 Look up the pid of a connected worker.
@@ -493,9 +457,7 @@ added to the pool.
 <pre><code>
 <pre><code>
 worker_id(Pool, Name) -&gt; GprocName
 worker_id(Pool, Name) -&gt; GprocName
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Return the unique gproc name corresponding to a name in the pool.
 Return the unique gproc name corresponding to a name in the pool.
@@ -512,9 +474,7 @@ that there is, in fact, such a connected worker.
 <pre><code>
 <pre><code>
 worker_pool(Pool::any()) -&gt; [integer() | {Name, Pos}]
 worker_pool(Pool::any()) -&gt; [integer() | {Name, Pos}]
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Return a list of slots and/or named workers in the pool.
 Return a list of slots and/or named workers in the pool.

+ 14 - 42
doc/gproc_ps.md

@@ -98,9 +98,7 @@ status() = 1 | 0
 <pre><code>
 <pre><code>
 change_cond(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>, Spec::undefined | <a href="ets.md#type-match_spec">ets:match_spec()</a>) -&gt; true
 change_cond(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>, Spec::undefined | <a href="ets.md#type-match_spec">ets:match_spec()</a>) -&gt; true
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Change the condition specification of an existing subscription.
 Change the condition specification of an existing subscription.
@@ -123,9 +121,7 @@ subscription to a conditional one.
 <pre><code>
 <pre><code>
 create_single(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>) -&gt; true
 create_single(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>) -&gt; true
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Creates a single-shot subscription entry for Event
 Creates a single-shot subscription entry for Event
@@ -155,9 +151,7 @@ as it has delivered a message.
 <pre><code>
 <pre><code>
 delete_single(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>) -&gt; true
 delete_single(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>) -&gt; true
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Deletes the single-shot subscription for Event
 Deletes the single-shot subscription for Event
@@ -173,9 +167,7 @@ An exception will be raised if there is no such subscription.
 <pre><code>
 <pre><code>
 disable_single(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>) -&gt; integer()
 disable_single(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>) -&gt; integer()
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Disables the single-shot subscription for Event
 Disables the single-shot subscription for Event
@@ -201,9 +193,7 @@ The return value indicates the previous status.
 <pre><code>
 <pre><code>
 enable_single(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>) -&gt; integer()
 enable_single(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>) -&gt; integer()
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Enables the single-shot subscription for Event
 Enables the single-shot subscription for Event
@@ -233,9 +223,7 @@ The return value indicates the previous status.
 <pre><code>
 <pre><code>
 list_singles(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>) -&gt; [{pid(), <a href="#type-status">status()</a>}]
 list_singles(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>) -&gt; [{pid(), <a href="#type-status">status()</a>}]
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 Lists all single-shot subscribers of Event, together with their status
 Lists all single-shot subscribers of Event, together with their status
 <a name="list_subs-2"></a>
 <a name="list_subs-2"></a>
@@ -246,9 +234,7 @@ Lists all single-shot subscribers of Event, together with their status
 <pre><code>
 <pre><code>
 list_subs(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>) -&gt; [pid()]
 list_subs(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>) -&gt; [pid()]
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 List the pids of all processes subscribing to `Event`
 List the pids of all processes subscribing to `Event`
@@ -263,9 +249,7 @@ This function uses `gproc:select/2` to find all properties indicating a subscrip
 <pre><code>
 <pre><code>
 notify_single_if_true(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>, F::fun(() -&gt; boolean()), Msg::<a href="#type-msg">msg()</a>) -&gt; ok
 notify_single_if_true(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>, F::fun(() -&gt; boolean()), Msg::<a href="#type-msg">msg()</a>) -&gt; ok
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Create/enable a single subscription for event; notify at once if F() -> true
 Create/enable a single subscription for event; notify at once if F() -> true
@@ -282,9 +266,7 @@ immediate test returns `false`.
 <pre><code>
 <pre><code>
 publish(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>, Msg::<a href="#type-msg">msg()</a>) -&gt; ok
 publish(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>, Msg::<a href="#type-msg">msg()</a>) -&gt; ok
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Publish the message `Msg` to all subscribers of `Event`
 Publish the message `Msg` to all subscribers of `Event`
@@ -308,9 +290,7 @@ property `{p,Scope,{gproc_ps_event,Event}}`.
 <pre><code>
 <pre><code>
 publish_cond(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>, Msg::<a href="#type-msg">msg()</a>) -&gt; <a href="#type-msg">msg()</a>
 publish_cond(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>, Msg::<a href="#type-msg">msg()</a>) -&gt; <a href="#type-msg">msg()</a>
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Publishes the message `Msg` to conditional subscribers of `Event`
 Publishes the message `Msg` to conditional subscribers of `Event`
@@ -329,9 +309,7 @@ __See also:__ [subscribe_cond/3](#subscribe_cond-3).
 <pre><code>
 <pre><code>
 subscribe(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>) -&gt; true
 subscribe(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>) -&gt; true
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Subscribe to events of type `Event`
 Subscribe to events of type `Event`
@@ -358,9 +336,7 @@ process.
 <pre><code>
 <pre><code>
 subscribe_cond(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>, Spec::undefined | <a href="ets.md#type-match_spec">ets:match_spec()</a>) -&gt; true
 subscribe_cond(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>, Spec::undefined | <a href="ets.md#type-match_spec">ets:match_spec()</a>) -&gt; true
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Subscribe conditionally to events of type `Event`
 Subscribe conditionally to events of type `Event`
@@ -407,9 +383,7 @@ process.
 <pre><code>
 <pre><code>
 tell_singles(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>, Msg::<a href="#type-msg">msg()</a>) -&gt; [pid()]
 tell_singles(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>, Msg::<a href="#type-msg">msg()</a>) -&gt; [pid()]
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Publish `Msg` to all single-shot subscribers of `Event`
 Publish `Msg` to all single-shot subscribers of `Event`
@@ -434,9 +408,7 @@ for `Event`.
 <pre><code>
 <pre><code>
 unsubscribe(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>) -&gt; true
 unsubscribe(Scope::<a href="#type-scope">scope()</a>, Event::<a href="#type-event">event()</a>) -&gt; true
 </code></pre>
 </code></pre>
-
-<br></br>
-
+<br />
 
 
 
 
 Remove subscribtion created using `subscribe(Scope, Event)`
 Remove subscribtion created using `subscribe(Scope, Event)`

+ 1 - 1
doc/overview.edoc

@@ -1,4 +1,4 @@
-@author Ulf Wiger <ulf.wiger@erlang-solutions.com>
+@author Ulf Wiger <ulf@wiger.net>
 @author Joseph Wayne Norton <norton@geminimobile.com>
 @author Joseph Wayne Norton <norton@geminimobile.com>
 
 
 @doc Extended process dictionary
 @doc Extended process dictionary

+ 4 - 4
include/gproc.hrl

@@ -3,18 +3,18 @@
 %% compliance with the License. You should have received a copy of the
 %% compliance with the License. You should have received a copy of the
 %% Erlang Public License along with this software. If not, it can be
 %% Erlang Public License along with this software. If not, it can be
 %% retrieved via the world wide web at http://www.erlang.org/.
 %% retrieved via the world wide web at http://www.erlang.org/.
-%% 
+%%
 %% Software distributed under the License is distributed on an "AS IS"
 %% Software distributed under the License is distributed on an "AS IS"
 %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
 %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
 %% the License for the specific language governing rights and limitations
 %% the License for the specific language governing rights and limitations
 %% under the License.
 %% under the License.
-%% 
+%%
 %% The Initial Developer of the Original Code is Ericsson Utvecklings AB.
 %% The Initial Developer of the Original Code is Ericsson Utvecklings AB.
 %% Portions created by Ericsson are Copyright 1999, Ericsson Utvecklings
 %% Portions created by Ericsson are Copyright 1999, Ericsson Utvecklings
 %% AB. All Rights Reserved.''
 %% AB. All Rights Reserved.''
 %%
 %%
-%% @author Ulf Wiger <ulf.wiger@erlang-solutions.com>
-%% 
+%% @author Ulf Wiger <ulf@wiger.net>
+%%
 %% gproc.hrl: Common definitions
 %% gproc.hrl: Common definitions
 
 
 -define(TAB, gproc).
 -define(TAB, gproc).

+ 1 - 1
priv/check_edown.script

@@ -20,7 +20,7 @@ case lists:member("doc", Args) of
             {error, bad_name} ->
             {error, bad_name} ->
                 io:fwrite("cannot find edown~n", []),
                 io:fwrite("cannot find edown~n", []),
                 D = {edown, ".*",
                 D = {edown, ".*",
-                     {git, "git://github.com/esl/edown.git", "HEAD"}},
+                     {git, "git://github.com/uwiger/edown.git", "HEAD"}},
                 Deps = case lists:keyfind(deps, 1, CONFIG) of
                 Deps = case lists:keyfind(deps, 1, CONFIG) of
                            false -> [D];
                            false -> [D];
                            {_, Ds} ->
                            {_, Ds} ->

+ 2 - 2
rebar.config

@@ -1,7 +1,7 @@
 %% -*- erlang -*-
 %% -*- erlang -*-
 {erl_opts, [debug_info]}.
 {erl_opts, [debug_info]}.
 {deps, [
 {deps, [
-        {edown, ".*", {git, "https://github.com/esl/edown.git", "HEAD"}},
+        {edown, ".*", {git, "https://github.com/uwiger/edown.git", "HEAD"}},
         {gen_leader, ".*",
         {gen_leader, ".*",
 	 {git, "https://github.com/garret-smith/gen_leader_revival.git", "HEAD"}}
 	 {git, "https://github.com/garret-smith/gen_leader_revival.git", "HEAD"}}
        ]}.
        ]}.
@@ -15,4 +15,4 @@
 	     {app_default, "http://www.erlang.org/doc/man"},
 	     {app_default, "http://www.erlang.org/doc/man"},
              {top_level_readme,
              {top_level_readme,
               {"./README.md",
               {"./README.md",
-               "http://github.com/esl/gproc"}}]}.
+               "http://github.com/uwiger/gproc"}}]}.

+ 1 - 1
src/gproc_info.erl

@@ -13,7 +13,7 @@
 %% Portions created by Ericsson are Copyright 1999, Ericsson Utvecklings
 %% Portions created by Ericsson are Copyright 1999, Ericsson Utvecklings
 %% AB. All Rights Reserved.''
 %% AB. All Rights Reserved.''
 %%
 %%
-%% @author Ulf Wiger <ulf.wiger@erlang-solutions.com>
+%% @author Ulf Wiger <ulf@wiger.net>
 %%
 %%
 -module(gproc_info).
 -module(gproc_info).
 
 

+ 1 - 1
test/gproc_dist_tests.erl

@@ -14,7 +14,7 @@
 %% Portions created by Ericsson are Copyright 1999, Ericsson Utvecklings
 %% Portions created by Ericsson are Copyright 1999, Ericsson Utvecklings
 %% AB. All Rights Reserved.''
 %% AB. All Rights Reserved.''
 %%
 %%
-%% @author Ulf Wiger <ulf.wiger@erlang-solutions.com>
+%% @author Ulf Wiger <ulf@wiger.net>
 %%
 %%
 -module(gproc_dist_tests).
 -module(gproc_dist_tests).
 
 

+ 1 - 1
test/gproc_tests.erl

@@ -13,7 +13,7 @@
 %% Portions created by Ericsson are Copyright 1999, Ericsson Utvecklings
 %% Portions created by Ericsson are Copyright 1999, Ericsson Utvecklings
 %% AB. All Rights Reserved.''
 %% AB. All Rights Reserved.''
 %%
 %%
-%% @author Ulf Wiger <ulf.wiger@erlang-solutions.com>
+%% @author Ulf Wiger <ulf@wiger.net>
 %%
 %%
 -module(gproc_tests).
 -module(gproc_tests).