- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - HP-UX
- >
- connect() fails with EBADF
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Discussions
Forums
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО02-14-2005 12:16 AM
тАО02-14-2005 12:16 AM
connect() fails with EBADF
i follow this sequence in my client program
-- snip ---
socketFD = socket(AF_UNIX, SOCK_STREAM, 0);
if (socketFD < 0) {
// return error
}
struct sockaddr_un servAddr;
servAddr.sun_family = AF_UNIX;
.
.
.
while(1)
{
if (connect(socketFD, &servAddr,servLen) {
if (errno == EINTR)
{
// Interrupted, try again
continue;
}
// Other errors are fatal
// return
}
else
{
// Connect succesful
break;
}
}
--- snap ---
The sockect call is all fine ,however i get intermittent errors on connect() saying "Bad file number".
The server program at that time is running fine.
can you please suggest what could be wrong ?
Thanks in advance.
-vaibhav
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО02-14-2005 12:32 AM
тАО02-14-2005 12:32 AM
Re: connect() fails with EBADF
according to various sites:
"Either a file descriptor refers to no open file, or a read (or
write) request is made to a file that is open only for writing
(or reading).
The symbolic name for this error is EBADF, errno=9."
I would check the socket parameters for correctness.
Regards
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО02-14-2005 12:34 AM
тАО02-14-2005 12:34 AM
Re: connect() fails with EBADF
if (connect(socketFD, &servAddr,servLen) {
read
if (connect(socketFD, &servAddr,servLen)) {
??
live free or die
harry d brown jr
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО02-14-2005 01:20 AM
тАО02-14-2005 01:20 AM
Re: connect() fails with EBADF
Sorry , that was a typo error
---
if (connect(socketFD, &servAddr, servLen) < 0){
---
still not clear why the connect() call would fail.
Regards,
-vaibhav
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО02-14-2005 01:30 AM
тАО02-14-2005 01:30 AM
Re: connect() fails with EBADF
according to man connect :
"The connect() system call may complete if remote program has a pending listen() even though remote program had not yet issued an accept() system call."
AND
"[EBADF] s is not a valid file descriptor."
Please check the parameters,length and returned status codes.
Regards
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО02-15-2005 04:49 AM
тАО02-15-2005 04:49 AM
Re: connect() fails with EBADF
I think tusc is on the DSPP somewhere. It is also at ftp://ftp.cup.hp.com/dist/networking/tools/