This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Defect report: ENOTSOCK on close


Summary:
Unexpected error ENOTSOCK upon closing filedes[0] obtained via socketpair

Test case:

#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>

int main(int argc, char *argv[])
{
auto int a_fd[02];
if(socketpair(AF_LOCAL, SOCK_STREAM, 0, a_fd))
perror("socketpair");
else
{
auto int an_ix = 0;
for(; an_ix < 02; ++an_ix)
if(close(a_fd[an_ix]))
  { enum BufLen { BUF_LEN = 040 };
auto char a_buf[BUF_LEN];
perror(snprintf(a_buf, BUF_LEN, "close %d", an_ix) > 0? a_buf:
"sprintf"); }}
return EXIT_SUCCESS; }

Error message:
close 0: Socket operation on non-socket

(Note it occurs with filedes[0] only, even if close is called for filedes[1]
first).

OpenBSD does not exhibit this malfunction.

Best regards,
Chris

Attachment: cygcheck.txt
Description: Text document

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]