* get_osfhandle & WaitForSingleObject on a cygwin socket fd....
@ 2007-12-21 10:40 S A
0 siblings, 0 replies; only message in thread
From: S A @ 2007-12-21 10:40 UTC (permalink / raw)
To: cygwin
Hi
Please bear with me if this is a stupid question but I'm trying to setup a telnet socket
in cygwin and then want to use a Windows wait semaphore (WaitForMultipleObjects)
to combine it with a sleep for winpcap HANDLEs.
I thought I'd test this first though.
Does get_osfhandle() on a AF_INET socket to the right thing? The WaitForSingleObject
below never wakes up (despite an incoming telnet connection).
Thanks.
main() {
struct sockaddr_in sin;
int s;
int opt = 1;
int ret;
HANDLE h;
/* init server socket. */
if ((s=socket(AF_INET, SOCK_STREAM, 0))< 0) {
printf("%s: setsockopt! %s\n", __FUNCTION__, strerror(errno));
}
/* try to bind to port */
memset(&sin, 0, sizeof(sin));
sin.sin_family = AF_INET;
sin.sin_addr.s_addr = htonl(INADDR_LOOPBACK); // only bind to loopback now
sin.sin_port = htons(8081);
if (bind(s, (struct sockaddr *)&sin, sizeof(sin)) < 0) {
return LP_ERR_SOCKET;
}
if (listen(s, LEAD_PIPE_MAX_CONN) < 0) {
return LP_ERR_SOCKET;
}
h = (HANDLE) get_osfhandle(s);
ASSERT(h> 0);
fprintf(stdout, "Waiting on telnet handle %x\n", h);
while(1) {
WaitForSingleObject(h, INFINITE);
fprintf(stdout, "Awoke on telnet handle\n");
}
}
_________________________________________________________________
Don't get caught with egg on your face. Play Chicktionary!
http://club.live.com/chicktionary.aspx?icid=chick_wlhmtextlink1_dec
--
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/
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2007-12-21 2:01 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-12-21 10:40 get_osfhandle & WaitForSingleObject on a cygwin socket fd S A
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).