Dnia 15-01-2008, Wt o godzinie 11:15 +0100, Corinna Vinschen pisze: > On Jan 15 09:19, Christopher Yeleigton wrote: > > 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. > > I tried your test application multiple times on XP SP2, 2003 Server x64, > as well as on 2008 Server RC1. I can not reproduce the above problem. > On all three machines (all running Cygwin 1.5.25-7), the sockets are > closed without failure every time. Maybe that's a bad interaction with > a third party product? Did you check the FAQ?
The FAQ does not mention any of the products I have, namely, Panda Internet Security and nVidia ForceWare. The problem went away when I uninstalled Panda and I hope it will not return even though I am going to reinstall it, albeit without the firewall component. (Having two firewalls is a bad thing, of course; I thought the installer would be smart enough not to install its firewall on top of the other.). > > http://cygwin.com/faq/faq.using.html#faq.using.bloda > > > Corinna > Thanks, Chris -- 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/