ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libev/ev.pod
(Generate patch)

Comparing libev/ev.pod (file contents):
Revision 1.166 by root, Tue Jun 3 03:48:10 2008 UTC vs.
Revision 1.168 by root, Mon Jun 9 14:31:36 2008 UTC

3326more than a hundred or so sockets, then likely it needs to use a totally 3326more than a hundred or so sockets, then likely it needs to use a totally
3327different implementation for windows, as libev offers the POSIX readiness 3327different implementation for windows, as libev offers the POSIX readiness
3328notification model, which cannot be implemented efficiently on windows 3328notification model, which cannot be implemented efficiently on windows
3329(Microsoft monopoly games). 3329(Microsoft monopoly games).
3330 3330
3331A typical way to use libev under windows is to embed it (see the embedding
3332section for details) and use the following F<evwrap.h> header file instead
3333of F<ev.h>:
3334
3335 #define EV_STANDALONE /* keeps ev from requiring config.h */
3336 #define EV_SELECT_IS_WINSOCKET 1 /* configure libev for windows select */
3337
3338 #include "ev.h"
3339
3340And compile the following F<evwrap.c> file into your project (make sure
3341you do I<not> compile the F<ev.c> or any other embedded soruce files!):
3342
3343 #include "evwrap.h"
3344 #include "ev.c"
3345
3331=over 4 3346=over 4
3332 3347
3333=item The winsocket select function 3348=item The winsocket select function
3334 3349
3335The winsocket C<select> function doesn't follow POSIX in that it 3350The winsocket C<select> function doesn't follow POSIX in that it
3336requires socket I<handles> and not socket I<file descriptors> (it is 3351requires socket I<handles> and not socket I<file descriptors> (it is
3337also extremely buggy). This makes select very inefficient, and also 3352also extremely buggy). This makes select very inefficient, and also
3338requires a mapping from file descriptors to socket handles. See the 3353requires a mapping from file descriptors to socket handles (the Microsoft
3354C runtime provides the function C<_open_osfhandle> for this). See the
3339discussion of the C<EV_SELECT_USE_FD_SET>, C<EV_SELECT_IS_WINSOCKET> and 3355discussion of the C<EV_SELECT_USE_FD_SET>, C<EV_SELECT_IS_WINSOCKET> and
3340C<EV_FD_TO_WIN32_HANDLE> preprocessor symbols for more info. 3356C<EV_FD_TO_WIN32_HANDLE> preprocessor symbols for more info.
3341 3357
3342The configuration for a "naked" win32 using the Microsoft runtime 3358The configuration for a "naked" win32 using the Microsoft runtime
3343libraries and raw winsocket select is: 3359libraries and raw winsocket select is:

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines