Geir Magnusson Jr. wrote:
I committed the initial fix to the socket interrupt problem. I stared
at it a while and did what I thought the simplest thing possible. (Most
of the staring was trying to grok some of the intent in the socket.c and
hysock.c code...
Simply put, I ensured that hysock_select() just dealt w/ that return
code correctly, translating to the HSOCK error code. (I also did a bit
of reformatting... apologies if it really upsets someone - I'll put it
back). The result is that hysock_select() still behaves the same.
I also modified one function in socket.c - the pollSelectRead() call -
to deal with the interrupt return code from hysock_select().
I *think* I got it right, and am hoping that some others can review and
comment. I'm embarrassed to have used a 'goto' (mimicing the style
there), but didn't want to do the rewrite I wanted to while also fixing
the interrupt problem. :) (I also want some better tests before we take
it apart...)
I've taken a quick review on the two files, and I like the reformatting
:) Maybe the "goto" can be avoid, but this does not matter much.
I notice the port lib, say hysock.c is modified, adding a line:
if (errno == EINTR) {
rc = portLibrary->error_set_last_error(portLibrary, errno,
HYPORT_ERROR_SOCKET_INTERRUPTED);
}
IMHO, we can avoid this modification, for method in socket.c the result
is judged by the return value("result"), not last_error. IMHO, we'd
better do no modification on port lib. Please correct me if I'm wrong.
This of course fixes the problems w/ Tomcat that we created w/ the DRLVM
thread manager fix, so I'm going to try to spin a new snapshot tonight.
Also, I'll go and treat the other usages of hysock_select() to deal w/
this return code, but after there's been a period of review and comment
for these changes.
I have no objection if everything goes well, but still worry about how
to tell the difference between a necessary interruption(user
interruption) and this recover-able interruption.
geir
---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Best Regards!
Jimmy, Jing Lv
China Software Development Lab, IBM
---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]