[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference ozrock::x25_osf

Title:Proudly built by the engineers of NaC Australia
Moderator:DELNI::MUGGERIDGE
Created:Mon Oct 12 1992
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:908
Total number of notes:3829

883.0. "blocking in X25WaitForEvent when signal comes -- what happens?" by HYDRA::NEWMAN (Chuck Newman, 508/467-5499 (DTN 297), MRO1-3/F26) Wed Apr 09 1997 01:02

A software developer contacted me with the following question.  Would
someone please give me a definitive answer on this?  Thanks!

								-- Chuck Newman
--------------------------------------------------------------------------------
I am currently designing an application to accept X25 SVC connections
and plan to use the X25 for Digital UNIX Systems library (Product No.
AA-PR2KF-TE).

I wish to use the X25WaitForEvent function to block until an incoming
connection request is received. However In order to prevent the function
from blocking indefinately (if no calls arrive) I propose to send a
signal to the application whenever other processing is required.  Am I
correct in assuming that this function will return with an error code of
X25RC_SYSERR and errno set to EINTR if I send a signal to this
application while it is blocking in the X25WaitForEvent function?  This
should be mode effivient that constantly polling BUT the documentation
is a bit vague.  Can you clarify this issue?
T.RTitleUserPersonal
Name
DateLines
883.1DELNI::MUGGERIDGEWed Apr 09 1997 03:3213
With V3.0 of our product, we are supporting the 'select' system call.  This
is the more natural way of handling this requirement.  In truth, your
programmer can use select() in earlier version as well.

Personally, I would urge your programmer to use the select() system call for
this operation, but if they do want to use X25WaitForEvent, then I would
expect that if the call is interrupted whilst it is blocked, then it would
return X25RC_SYSERR with errno set to EINTR.

Alternately, they could use a timeout in the call.  Then you don't need to
worry about sending signals.

Matt.
883.2Response from the software vendor -- thanks for the helpHYDRA::NEWMANChuck Newman, 508/467-5499 (DTN 297), MRO1-3/F26Thu Apr 10 1997 00:0319
     Hello Chuck
     
     Thank you very much for taking the time and trouble to respond to my 
     question so quickly.
     
     Your X25 engineering group are correct in saying that using the select 
     function is the most natural way to handle incoming calls.  We had 
     avoided this approach as the documentation gives several examples, 
     none of which use select.  Previous experience prompted us to beleive 
     that the X25 port descriptors would not produce signals when they were 
     ready for IO as was the case when we used DECNet software.
     
     I shall definately try and use the select function as it will simplify 
     the system enormously.  Thanks you onces again for your swift response 
     it was greatly appreciated.
     
     Regards
     
     Brian Charlton - Principal Engineer VEGA Group PLC