From 9132285ac7dc920f58967ab756644f68650c8f76 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 20 Jun 2008 23:31:19 +0000 Subject: *** empty log message *** --- ev.pod | 12 +++++++++--- ev_win32.c | 3 +++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/ev.pod b/ev.pod index 97eaf44..85f73a5 100644 --- a/ev.pod +++ b/ev.pod @@ -1664,13 +1664,19 @@ will be no polling. =head3 ABI Issues (Largefile Support) Libev by default (unless the user overrides this) uses the default -compilation environment, which means that on systems with optionally -disabled large file support, you get the 32 bit version of the stat +compilation environment, which means that on systems with large file +support disabled by default, you get the 32 bit version of the stat structure. When using the library from programs that change the ABI to use 64 bit file offsets the programs will fail. In that case you have to compile libev with the same flags to get binary compatibility. This is obviously the case with any flags that change the ABI, but the problem is -most noticeably with ev_stat and large file support. +most noticeably disabled with ev_stat and large file support. + +The solution for this is to lobby your distribution maker to make large +file interfaces available by default (as e.g. FreeBSD does) and not +optional. Libev cannot simply switch on large file support because it has +to exchange stat structures with application programs compiled using the +default compilation environment. =head3 Inotify diff --git a/ev_win32.c b/ev_win32.c index d78568d..2e0b300 100644 --- a/ev_win32.c +++ b/ev_win32.c @@ -39,10 +39,13 @@ #ifdef _WIN32 +/* timeb.h is actually xsi legacy functionality */ #include /* note: the comment below could not be substantiated, but what would I care */ /* MSDN says this is required to handle SIGFPE */ +/* my wild guess would be that using something floating-pointy is required */ +/* for the crt to do something about it */ volatile double SIGFPE_REQ = 0.0f; /* oh, the humanity! */ -- cgit v1.2.3