DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ· RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=38464>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ· INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=38464 [EMAIL PROTECTED] changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|WORKSFORME | ------- Additional Comments From [EMAIL PROTECTED] 2006-02-07 10:45 ------- Right, you are correct. For slow networks the actuall number written can be lower, and inside InternalAprOutputBuffer we presume that all the data has been written. I'll create a patch, although I'm not sure wether it should go in native or InternalAprOutputBuffer. If it's implemented in native (already done that) it will follow the Java OutputStream api, but in that case it would not follow the APR api. I'll discuss that with other guys to see what they think. Here a snippet for network.c that resolves that, so you can test it and tell me if it's working for you too. I think it should because I was able to duplicate the bug. TCN_IMPLEMENT_CALL(jint, Socket, sendbb)(TCN_STDARGS, jlong sock, jint offset, jint len) { tcn_socket_t *s = J2P(sock, tcn_socket_t *); apr_size_t nbytes = (apr_size_t)len; apr_size_t sent = 0; apr_status_t ss; UNREFERENCED_STDARGS; TCN_ASSERT(sock != 0); TCN_ASSERT(s->opaque != NULL); TCN_ASSERT(s->jsbbuff != NULL); #ifdef TCN_DO_STATISTICS sp_max_send = TCN_MAX(sp_max_send, nbytes); sp_min_send = TCN_MIN(sp_min_send, nbytes); sp_tot_send += nbytes; sp_num_send++; #endif while (sent < nbytes) { apr_size_t wr = nbytes - sent; ss = (*s->net->send)(s->opaque, s->jsbbuff + offset + sent, &wr); if (ss != APR_SUCCESS) break; sent += wr; } if (ss == APR_SUCCESS) return (jint)sent; else { TCN_ERROR_WRAP(ss); return -(jint)ss; } } -- Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]