You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Trustin Lee (JIRA)" <ji...@apache.org> on 2007/04/03 04:24:32 UTC

[jira] Updated: (DIRMINA-241) Calling other session's write() in messageReceived() handler causes deadlock when a SSLFilter is used.

     [ https://issues.apache.org/jira/browse/DIRMINA-241?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Trustin Lee updated DIRMINA-241:
--------------------------------

          Component/s: Filter
        Fix Version/s: 1.0.3
             Assignee: Trustin Lee
          Environment:     (was: windows xp)
    Affects Version/s: 1.0.0
                       1.0.1
                       1.0.2
              Summary: Calling other session's write() in messageReceived() handler causes deadlock when a SSLFilter is used.  (was: When I used session.write(message), it was invoked deadlock.)

> Calling other session's write() in messageReceived() handler causes deadlock when a SSLFilter is used.
> ------------------------------------------------------------------------------------------------------
>
>                 Key: DIRMINA-241
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-241
>             Project: MINA
>          Issue Type: Bug
>          Components: Filter
>    Affects Versions: 1.0.0, 1.0.1, 1.0.2
>            Reporter: jo,sung jun
>         Assigned To: Trustin Lee
>             Fix For: 1.0.3
>
>         Attachments: thread thump.txt
>
>
> Hello,
> Could you advise for me about this problem.
> I attached server thread thumb.
> I run the server , There are many clients,
> When I use session.write , it happened deadlock.
> I don't know why~
> > this is some sample about multicast. 
> 	public void multicast(String channelName, Object message) {
> 		if (!(message instanceof ByteBuffer)) {
> 			return;
> 		}
> 		ByteBuffer rb = (ByteBuffer) message;
> //		try{
> 			GameRoom channel = RoomManager.getRoom(channelName);
> 			List list = (List) channel.getUsers();
> 			Iterator it = list.iterator();
> 			while (it.hasNext()) {
> 				ByteBuffer buf = rb.duplicate();
> 				User user = (User) it.next();
> 				WrteFuture future = users.getSession().write(buf);
>                                                                                      future.join();
> 				
> 			}
> 			rb.release();
> //		}catch(Throwable t) {
> //			}
> 	}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.