On Fri, Jun 6, 2008 at 9:35 AM, Chris Hulbert <[EMAIL PROTECTED]> wrote:
> FYI, i just had the same problem.
> To convert from a socket to a file descriptor, you'll need to use this 
> function:
>
>  // for win32: convert from socket to file descriptor
>  // // http://msdn.microsoft.com/en-us/library/bdts1c9x(VS.71).aspx
>  int fd = _open_osfhandle(socket,0);
>

I just encounter this same error but I am unable to solve it. My
program can create a socket() and actually connect to the server using
connect() but when I start the libev default loop an assertion ocurrs
when it calls _get_osfhandle() on line 716 of ev.c file.

How exactly am I supposed to use the _open_osfhandle() method as you
mention here?? If I use this method on the socket I get from the
socket() method then all subsequent calls on the socket (i.e. connect,
bind, listen) would return WSAENOTSOCK error.

Shall I replace all instances of _get_osfhandle() with a call to
_open_sofhandle()??  or am I missing something else??

regards
Horacio

> On Thu, Jun 5, 2008 at 6:23 PM, Marc Lehmann <[EMAIL PROTECTED]> wrote:
>> On Wed, Jun 04, 2008 at 04:29:46PM -0700, Matt Tolton <[EMAIL PROTECTED]> 
>> wrote:
>>> Any pointers here?  The fd that I'm using is a socket obtained from
>>> the winsock socket() call.  Here is the code used to initialize it:
>>
>> That doesn't work - the libev API requires file descriptors on all
>> platforms.  What you pass in is a native opertaing system handle that is
>> not a file descriptor.
>>
>
> _______________________________________________
> libev mailing list
> [email protected]
> http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev
>

_______________________________________________
libev mailing list
[email protected]
http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev

Reply via email to