diff --git a/deps/libeio/eio.c b/deps/libeio/eio.c index d12f5bd999..dd7b2a5893 100644 --- a/deps/libeio/eio.c +++ b/deps/libeio/eio.c @@ -1435,6 +1435,7 @@ eio__scandir (eio_req *req, etp_worker *self) } } } + #ifdef PAGESIZE # define eio_pagesize() PAGESIZE @@ -1444,10 +1445,10 @@ eio__scandir (eio_req *req, etp_worker *self) eio_pagesize (void) { SYSTEM_INFO si; - GetSystemInfo(&si); - return si.dwPageSize; + GetSystemInfo(&si); + return si.dwPageSize; } - + #else /* POSIX */ static intptr_t @@ -1457,7 +1458,7 @@ eio__scandir (eio_req *req, etp_worker *self) if (!page) page = sysconf (_SC_PAGESIZE); - + return page; } #endif @@ -1712,19 +1713,21 @@ static void eio_execute (etp_worker *self, eio_req *req) #ifndef _WIN32 case EIO_LSTAT: ALLOC (sizeof (EIO_STRUCT_STAT)); req->result = lstat (req->ptr1, (EIO_STRUCT_STAT *)req->ptr2); break; -#endif +#endif case EIO_FSTAT: ALLOC (sizeof (EIO_STRUCT_STAT)); req->result = fstat (req->int1, (EIO_STRUCT_STAT *)req->ptr2); break; + #ifndef _WIN32 case EIO_STATVFS: ALLOC (sizeof (EIO_STRUCT_STATVFS)); req->result = statvfs (req->ptr1, (EIO_STRUCT_STATVFS *)req->ptr2); break; case EIO_FSTATVFS: ALLOC (sizeof (EIO_STRUCT_STATVFS)); req->result = fstatvfs (req->int1, (EIO_STRUCT_STATVFS *)req->ptr2); break; + case EIO_CHOWN: req->result = chown (req->ptr1, req->int2, req->int3); break; case EIO_FCHOWN: req->result = fchown (req->int1, req->int2, req->int3); break; -#endif +#endif case EIO_CHMOD: req->result = chmod (req->ptr1, (mode_t)req->int2); break; -#ifndef _WIN32 +#ifndef _WIN32 case EIO_FCHMOD: req->result = fchmod (req->int1, (mode_t)req->int2); break; case EIO_TRUNCATE: req->result = truncate (req->ptr1, req->offs); break; #endif @@ -1737,11 +1740,11 @@ static void eio_execute (etp_worker *self, eio_req *req) case EIO_RMDIR: req->result = rmdir (req->ptr1); break; #ifdef _WIN32 case EIO_MKDIR: req->result = mkdir (req->ptr1); break; -#else +#else case EIO_MKDIR: req->result = mkdir (req->ptr1, (mode_t)req->int2); break; #endif case EIO_RENAME: req->result = rename (req->ptr1, req->ptr2); break; -#ifndef _WIN32 +#ifndef _WIN32 case EIO_LINK: req->result = link (req->ptr1, req->ptr2); break; case EIO_SYMLINK: req->result = symlink (req->ptr1, req->ptr2); break; case EIO_MKNOD: req->result = mknod (req->ptr1, (mode_t)req->int2, (dev_t)req->int3); break; diff --git a/deps/libeio/xthread.h b/deps/libeio/xthread.h index 83b41bee7c..d8b86ca2a1 100644 --- a/deps/libeio/xthread.h +++ b/deps/libeio/xthread.h @@ -30,7 +30,7 @@ typedef int ssize_t #include #include #include -#include "pthread.h" +#include #define sigset_t int #define sigfillset(a) #define pthread_sigmask(a,b,c) diff --git a/src/node.cc b/src/node.cc index 5357f1fcb2..3c81bc9a86 100644 --- a/src/node.cc +++ b/src/node.cc @@ -1257,6 +1257,7 @@ v8::Handle MemoryUsage(const v8::Arguments& args) { return scope.Close(info); } + #ifdef __POSIX__ Handle Kill(const Arguments& args) { @@ -1893,6 +1894,7 @@ static void SignalExit(int signal) { _exit(1); } + #ifdef __POSIX__ static int RegisterSignalHandler(int signal, void (*handler)(int)) { struct sigaction sa; diff --git a/src/node_buffer.cc b/src/node_buffer.cc index 69b419bd1f..ba74abcc5f 100644 --- a/src/node_buffer.cc +++ b/src/node_buffer.cc @@ -7,9 +7,9 @@ #include // memcpy #ifdef __MINGW32__ -# include // htons, htonl +# include // htons, htonl #else // __POSIX__ -# include // htons, htonl +# include // htons, htonl #endif #include diff --git a/src/node_net.cc b/src/node_net.cc index ccd288a964..b8e6c2d0ed 100644 --- a/src/node_net.cc +++ b/src/node_net.cc @@ -146,6 +146,7 @@ static Handle Pipe(const Arguments& args) { return scope.Close(a); } + // Creates nonblocking socket pair static Handle SocketPair(const Arguments& args) { HandleScope scope; @@ -416,6 +417,7 @@ static Handle Shutdown(const Arguments& args) { return Undefined(); } + // Connect with unix // t.connect(fd, "/tmp/socket") // @@ -439,11 +441,13 @@ static Handle Connect(const Arguments& args) { #ifdef __POSIX__ int r = connect(fd, addr, addrlen); + if (r < 0 && errno != EINPROGRESS) { return ThrowException(ErrnoException(errno, "connect")); } #else // __MINGW32__ int r = connect(_get_osfhandle(fd), addr, addrlen); + if (r == INVALID_SOCKET) { int wsaErrno = WSAGetLastError(); if (wsaErrno != WSAEALREADY && wsaErrno != WSAEINPROGRESS) { @@ -519,6 +523,7 @@ do { \ #endif // __MINGW32__ + #ifdef __POSIX__ static Handle GetSockName(const Arguments& args) { @@ -723,6 +728,7 @@ static Handle Read(const Arguments& args) { return scope.Close(Integer::New(bytes_read)); } + #ifdef __POSIX__ // var info = t.recvfrom(fd, buffer, offset, length, flags); @@ -1499,7 +1505,6 @@ void InitNet(Handle target) { NODE_SET_METHOD(target, "bind", Bind); NODE_SET_METHOD(target, "listen", Listen); NODE_SET_METHOD(target, "accept", Accept); - #ifdef __POSIX__ NODE_SET_METHOD(target, "socketError", SocketError); NODE_SET_METHOD(target, "toRead", ToRead); diff --git a/src/platform_win32.h b/src/platform_win32.h index 3c427d7482..df0dbd633b 100644 --- a/src/platform_win32.h +++ b/src/platform_win32.h @@ -20,7 +20,7 @@ False() #define NO_IMPL_MSG(name...) \ - fprintf(stderr, "Not implemented: %s\n", #name); + fprintf(stderr, "Not implemented: %s\n", #name); namespace node { @@ -28,4 +28,4 @@ void winapi_perror(const char* prefix); } -#endif // NODE_PLATFORM_WIN32_H_ +#endif // NODE_PLATFORM_WIN32_H_ \ No newline at end of file diff --git a/wscript b/wscript index 6390bf638d..808968f920 100644 --- a/wscript +++ b/wscript @@ -407,7 +407,7 @@ def configure(conf): # Split off debug variant before adding variant specific defines debug_env = conf.env.copy() conf.set_env_name('debug', debug_env) - + if (sys.platform.startswith("win32")): # Static pthread - crashes #conf.env.append_value('LINKFLAGS', '../deps/pthreads-w32/libpthreadGC2.a')