Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 92417 Details for
Bug 222363
[tcf] Initial implementation of value-add
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Fix to close channel when EOM is received from remote peer
tcfva3.patch (text/plain), 2.34 KB, created by
Felix Burton
on 2008-03-13 06:42:18 EDT
(
hide
)
Description:
Fix to close channel when EOM is received from remote peer
Filename:
MIME Type:
Creator:
Felix Burton
Created:
2008-03-13 06:42:18 EDT
Size:
2.34 KB
patch
obsolete
>Index: channel_tcp.c >=================================================================== >--- channel_tcp.c (revision 30) >+++ channel_tcp.c (working copy) >@@ -341,6 +341,14 @@ > return cnt; > } > >+static void new_message(ChannelTCP * c) { >+ c->message_count++; >+ if (!c->handling_msg && !is_suspended(c)) { >+ post_event(handle_channel_msg, c); >+ c->handling_msg = 1; >+ } >+} >+ > static void tcp_channel_read_done(void * x) { > AsyncReqInfo * req = x; > ChannelTCP * c = req->client_data; >@@ -366,11 +374,7 @@ > trace(LOG_ALWAYS, "Can't read from socket: %s", errno_to_str(req->error)); > } > c->eof = 1; >- c->message_count++; /* Treat eof as a message */ >- if (!c->handling_msg && !is_suspended(c)) { >- post_event(handle_channel_msg, c); >- c->handling_msg = 1; >- } >+ new_message(c); /* Treat eof as a message */ > return; > } > >@@ -393,22 +397,20 @@ > assert(c->message_count == 1); > } > else { >- c->message_count++; >- if (!c->handling_msg && !is_suspended(c)) { >- post_event(handle_channel_msg, c); >- c->handling_msg = 1; >- } >+ new_message(c); > } > break; > case 2: > /* EOS - End Of Stream */ > trace(LOG_PROTOCOL, "End of stream on channel 0x%08x", c); > c->eof = 1; >+ new_message(c); /* Treat eof as a message */ > break; > default: > /* Invalid escape sequence */ > trace(LOG_ALWAYS, "Protocol: Invalid escape sequence"); > c->eof = 1; >+ new_message(c); /* Treat eof as a message */ > ch = 2; > break; > } >@@ -425,11 +427,7 @@ > if (c->message_count == 0) { > /* Buffer full with incomplete message - start processing anyway */ > c->long_msg = 1; >- c->message_count++; >- if (!c->handling_msg && !is_suspended(c)) { >- post_event(handle_channel_msg, c); >- c->handling_msg = 1; >- } >+ new_message(c); > } > } > else {
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
mober.at+eclipse
:
iplog+
Actions:
View
|
Diff
Attachments on
bug 222363
:
92276
| 92417