1839025 Members
3448 Online
110132 Solutions
New Discussion

Re: Unix Domain sockets

 
Manish Srivastava
Trusted Contributor

Unix Domain sockets

We deal with Even Correlation in different Network and Telecom management products and hence have to deal with alarms/events. We have a slight problem w.r.t Unix domain sockets. We have a couple of select calls that poll on a set of FDs. All works fine when there is limited traffic. But in case of an event/alarm burst, these select calls repeatedly return 0, exposing an inherent fault in our code, causing it to loop. My concern however is, what is causing select to return 0 for a sustained period of time? We, just to verify if select was speaking the truth, did a forceful send on those sockets and the send failed as well, returning an errno EAGAIN.
Could you please let me know if all this could be a result of some programatic error on our part or is it a known problem with Unix domain sockets.

2 REPLIES 2
Brian Hackley
Honored Contributor

Re: Unix Domain sockets

Hello Manish,

select() is a pretty complex system call, from my reading of the 11.11 man page. In general, the answer to your question depends on the usage and environment you are in. You didn't specify which OS version you were on, 11.11 or 11.23 (IA-64 or PA?).

However, with what I do know from my work here in the support center, is that there are some key 11.11 patches to select() that you will need to consider:
PHKL_25233
s700_800 11.11 select(2) and poll(2) hang
NOTE: This patch pulls in 12 other patches! Most important of them is the PHNE_29825 STREAMS patch. Use the ITRC Patch set downloader to retrieve the full set of the latest patches!!
Also, the 11.11 ARPA Transport patch fixes issues with UDS Sockets. Current version: PHNE_29887
s700_800 11.11 cumulative ARPA Transport patch
Note this patch has the same patch dependency set as PHKL_25233)

It appears that there are no patches needed for 11.23 for select() or UDS socket issues.

In terms of debugging aids, does tusc-ing the process give you any further clues? Have you tried to do so? http://hpux.cs.utah.edu/hppd/hpux/Sysadmin/tusc-7.5/

This might help you collect more data or perhaps give you insight that would allow you to create a demonstration case that could be discussed with HP Support.

Finally, if you are still stuck, HP has a nice developers resource site that may give you better collaboration either with HP or with fellow developers.
http://devresource.hp.com/drc/index.jsp

Hope that helps,
-> Brian Hackley
Ask me about telecommuting!
Manish Srivastava
Trusted Contributor

Re: Unix Domain sockets

Hi Brian,
There is not much evidence for us to conclude that select() is causing the problem. Because when I try to do a send, the send fails returning an EAGAIN
Thanks
-Harish