Commit graph

27 commits

Author SHA1 Message Date
Peter Pentchev
e46f4125ef Fix some typographical and grammatical errors 2015-10-15 11:58:54 +08:00
Patrick Gansterer
73882e49fc Remove websock-w32.h 2014-03-29 08:25:58 +01:00
Patrick Gansterer
462c981e9c Move #define for random() into the test applications where needed 2014-03-29 08:05:07 +01:00
Patrick Gansterer
60cbbac880 Use Sleep() instead of usleep() on Windows 2014-03-29 07:52:01 +01:00
Patrick Gansterer
fc5734c339 Remove dummy headers for Windows 2014-03-29 07:43:38 +01:00
Patrick Gansterer
8df031d336 Remove emulated_poll on Windows 2014-03-29 07:15:40 +01:00
Patrick Gansterer
4a83727bf6 Remove duplicated implementations for bzero()
Define bzero() in a central place if HAVE_BZERO is not set
2014-02-28 20:28:06 +08:00
Patrick Gansterer
2dbd837c41 WSAGetLastError() instead of errno on Windows
Error codes set by Windows Sockets are not made available through the errno
variable. Checking them via WSAGetLastError() is the corret solution.
2014-02-28 20:08:55 +08:00
martell
e91a759b8a additional mingw fixes
Signed-off-by: martell <martellmalone@gmail.com>
2014-02-15 13:37:08 +08:00
Graham Newton
7ee4f890a3 windows workaround unsigned fd in emulated poll
A common practise to temporarily disable a socket in a poll call is to negate the socket fd.  poll should then ignore the socket.
emulated_poll does this with the following code:
        if (poll_fd->fd < 0 || !poll_fd->events)
            goto skip1;

However on Windows the fd field in WSAPOLLFD is unsigned int!!!  So the check for a negative fd value always fails.
This results in select returning an error with an error code of 10038 -- Socket operation on nonsocket.
The fix is to type cast fd like so:
        if ((int)poll_fd->fd < 0 || !poll_fd->events)

This may be the cause of some high CPU load reports.  I noticed the load being 50% with my application running on Windows XP.

Signed-off-by: Graham Newton <gnewton@peavey-eu.com>
2013-11-09 08:11:41 +08:00
Andreas Pakulat
dae94d8adc Windows Fix usage in Windows XP targetting projects
This is important since this stuff is in publicly included headers
and even though the usage of the WSAPoll API is a runtime decision
the public headers may be used in code that needs to build with
_WIN32_WINNT=0x0501 to support WinXP.

When building a project using libwebsockets with that define set
to 0x0501 winsock.h will not define the WSAPOLLFD struct causing that
project to fail to compile.
2013-11-04 10:18:14 +08:00
Andy Green
29338d9ef3 unixify websock w32.h line endings
Signed-off-by: Andy Green <andy.green@linaro.org>
2013-11-04 10:17:50 +08:00
Arokux B
47f5fa4983 fix win32helpers gettimeofday epoch
Signed-off-by: Arokux B <arokux@gmail.com>
2013-03-05 08:41:47 +08:00
Andy Green
fc90f698b3 normalize formatting in gettimeofday
Signed-off-by: Andy Green <andy.green@linaro.org>
2013-02-28 09:22:38 +08:00
Arokux B
e5ae9a95fb fix win32 gettimeofday for mingw
here are the problems that I found while compiling libwebsockets with
CMake using as a generator MinGW Makefiles.

1. In http://git.warmcat.com/cgi-bin/cgit/libwebsockets/plain/win32port/win32helpers/gettimeofday.c

Remove spaces around time.h, otherwise it looks for " time.h " and
fails with "No such file ..."

I also needed to comment out

struct timezone
{
  int  tz_minuteswest; /* minutes W of Greenwich */
  int  tz_dsttime;     /* type of dst correction */
};

It is already declared in mingw's time.h

Signed-off-by: Arokux B <arokux@gmail.com>
2013-02-28 09:18:38 +08:00
Joakim Soderberg
c7ed2be638 Fix running test programs from within visual studio.
Copy test-server data to a path so that we can run the test-server from
within visual studio without having to copy stuff around.
2013-02-22 09:28:17 +08:00
Andy Green
aa6fc44b0a mingw add win32helper to lib and fix extpoll
Based on work from Radu Sorici <soriciradu@gmail.com>

Signed-off-by: Andy Green <andy.green@linaro.org>
2012-04-12 13:32:19 +08:00
Andy Green
cce2a81e85 change DATADIR to INSTALL_DATADIR solve mingw conflict
Based on work from Radu Sorici <soriciradu@gmail.com>

Signed-off-by: Andy Green <andy.green@linaro.org>
2012-04-12 13:31:25 +08:00
Andy Green
a3147888d6 mingw gettimeofday avoid missing include
Based on work from Radu Sorici <soriciradu@gmail.com>

Signed-off-by: Andy Green <andy.green@linaro.org>
2012-04-12 13:31:12 +08:00
Andy Green
eeeddf030d mingw add in missing poll defs
Based on work from Radu Sorici <soriciradu@gmail.com>

Signed-off-by: Andy Green <andy.green@linaro.org>
2012-04-12 13:30:55 +08:00
Dan Zhang
f2e5e985c3 cleanup fixes tested on win32 compiler
Signed-off-by: Dan Zhang <emaildanzhang@gmail.com>
2011-11-09 15:55:16 +08:00
Andy Green
20b66e9939 win32 poll emulation clean and address PEEK issue
Dan Zhang needed to defeat the recv() with PEEK in order to get working
poll() emulation on 64-bit windows.

I cleaned up the style in that file and made a version of his workaround
(which was force recv result to 0).  I can't test the result so it may
need more work.

Reported-by: Dan Zhang <emaildanzhang@gmail.com>
Signed-off-by: Andy Green <andy@warmcat.com>
2011-11-09 07:28:45 +08:00
David Galeano
7b11fec7ca Added support for Windows XP. 2011-10-04 19:55:18 +08:00
Peter Hinz
6eeadae1ab update win32 support for zlib
Signed-off-by: Peter Hinz <cerebusrc@gmail.com>
2011-03-10 18:19:10 +00:00
Peter Hinz
bb45a90037 Re: Windows port of your libwebsocket
The latest code changed need some win32 fixes:

Signed-off-by: Peter Hinz <cerebusrc@gmail.com>
2011-03-10 18:14:01 +00:00
Andy Green
02770b412c win32 build fixup missing includes
Signed-off-by: Andy Green <andy@warmcat.com>
2011-03-05 09:04:23 +00:00
Peter Hinz
56885f3084 introduce win32 build capability
This adds win32 build compatability to libwebsockets.

The patch is from Peter Hinz, Andy Green has cleaned it up a bit and
possibly broken win32 compatability since I can't test it, so there
may be followup patches.  It compiles fine under Linux after this
patch anyway.

Much of the patch is changing a reserved keyword for Visual C compiler
"this" to "context", but there is no real C99 support in the MSFT
compiler even though it is 2011 so C99 style array declarations
have been mangled back into "ancient C" style.

Some windows-isms are also added like closesocket() but these are
quite localized.  Win32 random is just using C library random() call
at the moment vs Linux /dev/urandom.  canonical hostname detection is
broken in win32 at the moment.

Signed-off-by: Peter Hinz <cerebusrc@gmail.com>
Signed-off-by: Andy Green <andy@warmcat.com>
2011-03-02 22:03:47 +00:00