10-20-2008 01:00 PM
Bharatiya Janata Party (BJP) is India's largest political party, with around 20 million Ordinary Members and about 4 million Active Members. In June, BJP announced its goal to become one of the most high-tech political parties in the next two years, and free and open source software (FOSS) will play an essential role in this project.
A Tribute to India
For our Indian members, please let us know in the poll what city you live (or work)?
Mumbai (Bombay)
Delhi
Kolkata (Calcutta)
Chennai (Madras)
Bangalore
Hyderabad
Pune
Ahmedabad
Kanpur
Surat
Other (Please Tell Us in Post and Write in Poll, Thanks!)
Don't Live in... (32 Replies)
pg(3erl) Erlang Module Definition pg(3erl)NAME
pg - Distributed, Named Process Groups
DESCRIPTION
This (experimental) module implements process groups. A process group is a group of processes that can be accessed by a common name. For
example, a group named foobar can include a set of processes as members of this group and they can be located on different nodes.
When messages are sent to the named group, all members of the group receive the message. The messages are serialized. If the process P1
sends the message M1 to the group, and process P2 simultaneously sends message M2 , then all members of the group receive the two messages
in the same order. If members of a group terminate, they are automatically removed from the group.
This module is not complete. The module is inspired by the ISIS system and the causal order protocol of the ISIS system should also be
implemented. At the moment, all messages are serialized by sending them through a group master process.
EXPORTS
create(PgName) -> ok | {error, Reason}
Types PgName = term()
Reason = already_created | term()
Creates an empty group named PgName on the current node.
create(PgName, Node) -> ok | {error, Reason}
Types PgName = term()
Node = node()
Reason = already_created | term()
Creates an empty group named PgName on the node Node .
join(PgName, Pid) -> Members
Types PgName = term()
Pid = pid()
Members = [pid()]
Joins the pid Pid to the process group PgName . Returns a list of all old members of the group.
send(PgName, Msg) -> void()
Types PgName = Msg = term()
Sends the tuple {pg_message, From, PgName, Msg} to all members of the process group PgName .
Failure: {badarg, {PgName, Msg}} if PgName is not a process group (a globally registered name).
esend(PgName, Msg) -> void()
Types PgName = Msg = term()
Sends the tuple {pg_message, From, PgName, Msg} to all members of the process group PgName , except ourselves.
Failure: {badarg, {PgName, Msg}} if PgName is not a process group (a globally registered name).
members(PgName) -> Members
Types PgName = term()
Members = [pid()]
Returns a list of all members of the process group PgName .
Ericsson AB stdlib 1.17.3 pg(3erl)