[erlang-questions] broadcast message to all gen_server

Tilman Holschuh <>
Wed Apr 11 01:09:09 CEST 2012


And this doesn't work for you?

https://github.com/sockjs/sockjs-erlang/blob/master/src/sockjs_session.erl#L66

It's a cast and you can supply the pid (just wondering why he explicitly 
returns ok but that doesn't matter).

Cheers
- Tilman

On 12-04-10 03:01 PM, AD wrote:
> the gen_server is part of the sockjs server and i was trying to not
> modify/fork his code and leverage what is already there. Currently he uses
> a handle_call() so was looking at handling it outside his code.
>
> -AD
>
> On Tue, Apr 10, 2012 at 4:18 PM, Tilman Holschuh
> <>wrote:
>
>>
>> On 12-04-10 12:37 PM, AD wrote:
>>
>>>   I have a situation where i am trying to handle a case where I am using
>>> sockjs and need to send a message to each sockjs session_server (which is
>>> a
>>> gen_server).  I am using gproc() but I cant simply do a gproc_send() b/c
>>> the message ends up in handle_info() instead of properly in handle_call().
>>>   I have managed to work this out, when receiving a message from rabbitmq i
>>> do a gproc:lookup_pids() and then loop through each pid and do a
>>> gen_server:call(PID,Message).  The issue is this is a linear process, is
>>> there a way to handle sending gen_server:call() to all the processes
>>> concurrently ?
>>>
>>
>> Do you need a response from the gen_server:call? If not you could just use
>> a cast instead. Something like:
>>
>> [gen_server:cast(Pid, Message) || Pid<- gproc:lookup_pids()]
>>
>>
>> Cheers
>> - Tilman
>>
>> ______________________________**_________________
>> erlang-questions mailing list
>> 
>> http://erlang.org/mailman/**listinfo/erlang-questions<http://erlang.org/mailman/listinfo/erlang-questions>
>>
>



More information about the erlang-questions mailing list