[
https://issues.apache.org/jira/browse/DIRMINA-810?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Emmanuel Lecharny resolved DIRMINA-810.
---------------------------------------
Resolution: Fixed
Fixed with http://svn.apache.org/viewvc?rev=1040066&view=rev
> DIRMINA-803 ProtocolCodecFilter.filterWrite() is no longer thread-safe not
> fixed totally
> ----------------------------------------------------------------------------------------
>
> Key: DIRMINA-810
> URL: https://issues.apache.org/jira/browse/DIRMINA-810
> Project: MINA
> Issue Type: Bug
> Components: Filter
> Affects Versions: 2.0.0, 2.0.1
> Reporter: charley
> Assignee: Emmanuel Lecharny
> Priority: Critical
> Fix For: 2.0.2
>
>
> Hi,I notice DIRMINA-803
> https://issues.apache.org/jira/browse/DIRMINA-803 sayed
> ProtocolEncoderOutputImpl.flush(). also has same question as
> ProtocolCodecFilter.filterWrite().
> I checked the source at
> http://svn.apache.org/viewvc?view=revision&revision=1023759
> found two places line 427 and line 452 also has same question
> 423 public void flush(NextFilter nextFilter, IoSession session) {
> 424 Queue<Object> messageQueue = getMessageQueue();
> 425
> 426 while (!messageQueue.isEmpty()) {
> 427 nextFilter.messageReceived(session,
> messageQueue.poll());
> 428 }
> from 426 may should as follows
> while (!messageQueue.isEmpty()) {
> Object encodedMessage = messageQueue.poll();
> if (encodedMessage == null) {
> break;
> }
> nextFilter.messageReceived(session, encodedMessage.poll());
>
> }
> and
> 451 while (!bufferQueue.isEmpty()) {
> 452 Object encodedMessage = bufferQueue.poll();
> 453
> 454 // Flush only when the buffer has remaining.
> 455 if (!(encodedMessage instanceof IoBuffer) ||
> ((IoBuffer) encodedMessage).hasRemaining()) {
> at line 453 should insert
> if (encodedMessage == null) {
> break; }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.