Geir Magnusson Jr. wrote:


Artem Aliev wrote:
The hyport and hy* are a porting layer that provides os independent interface.
hysock_select() does not return EINTR on windows why it should do it
under linux?
either user presses Ctrl-c or ctrl-\ or VM uses other signals for its
owns needs.

I think you just gave me the answer.

The *caller* to hysock_select() needs to decide what to do on EINTR, not hysock_select() itself.


+1 to this solution, let's first keep portlib as it is, IIRC, there's many native methods refers it.

But I'm still worry about ignore the signal in select(or its callers). I know few about the SIGUSR2, but I doubt if some user give a signal to the thread, how can our select process tell if the signal comes from user or form VM? Shall it continue anyway? Mask the signal may be a better way, select only stop when a certain signal comes with a certain mask. However it may still puzzle the native code if user also use masks.

I was thinking the powerful SIGUSR2 may resolve some problem straightforwardly(like wakeup, etc.), but now I see there are still many problems. I believe J9 was not using any lib like SIGUSR2, maybe they create and handle threads themselves (RI may do like this as well).

I'll keep an eye on the discussion, there are may select-related native codes to deal ...

I still don't think this is a perfect solution, but I think it's better :)

I still want to know about J9 though. Maybe I need to go work for IBM again :)

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]

Reply via email to