9d60f1eb | 25-Aug-2013 |
Ben Noordhuis |
linux: don't turn on SO_REUSEPORT socket option On the BSDs, SO_REUSEPORT is pretty much SO_REUSEADDR with some special casing for IP multicast. When two processes (that don't do multic
linux: don't turn on SO_REUSEPORT socket option On the BSDs, SO_REUSEPORT is pretty much SO_REUSEADDR with some special casing for IP multicast. When two processes (that don't do multicast) bind to the same address, only the last one receives traffic. It allows one to "steal" the bound address from another process. (Both processes have to enable SO_REUSEPORT though, so it only works in a cooperative setting.) On Linux however, it enables port sharing, not stealing - both processes receive a share of the traffic. This is a desirable trait but pre-3.9 kernels don't support the socket option and a libuv program therefore behaves differently with older kernels or on another platform. The difference in behavior (sharing vs. stealing) is, in my opinion, big enough and confusing enough that it merits a rollback. People that want this kind of functionality can prepare the socket manually and hand it off to uv_udp_open(). This commit effectively reverts commit 17452cd.
show more ...
|
d6464c87 | 24-Aug-2013 |
Ben Noordhuis |
build: remove _GNU_SOURCE macro definition Compile libuv without -D_GNU_SOURCE, remove mention from the README. The only place where it's still used is in the test suite and only
build: remove _GNU_SOURCE macro definition Compile libuv without -D_GNU_SOURCE, remove mention from the README. The only place where it's still used is in the test suite and only because test/test-fs.c uses struct stat directly.
show more ...
|
8f3621e4 | 24-Aug-2013 |
Ben Noordhuis |
build: remove mingw makefile Commit e52aa6c adds MinGW support to the autotools build. Remove the Makefile, it's no longer needed. |
e52aa6cc | 29-Jul-2013 |
Keno Fischer |
build: make autotools build system work with mingw |
c8607675 | 24-Aug-2013 |
Bert Belder |
Now working on v0.11.11 |
742dadcb | 24-Aug-2013 |
Bert Belder |
2013.08.25, Version 0.11.10 (Unstable) * windows: Re-implement uv_fs_stat. The st_ctime field now contains the change time, not the creation time, like on unix systems. st_dev, s
2013.08.25, Version 0.11.10 (Unstable) * windows: Re-implement uv_fs_stat. The st_ctime field now contains the change time, not the creation time, like on unix systems. st_dev, st_ino, st_blocks and st_blksize are now also filled out. (Bert Belder) * linux: fix setsockopt(SO_REUSEPORT) error handling (Ben Noordhuis) * windows: report uv_process_t exit code correctly (Bert Belder) * windows: make uv_fs_chmod() report errors correctly (Bert Belder) * windows: make some more NT apis available for libuv's internal use (Bert Belder) * windows: squelch some compiler warnings (Bert Belder)
show more ...
|
f4e4e6a6 | 24-Aug-2013 |
Bert Belder |
authors: remove duplicate entry |
20a8e58a | 24-Aug-2013 |
Bert Belder |
windows: reimplement uv_fs_stat using NT syscalls This improves the output of uv_fs_stat: * `st_ctime` now contains the change time, not the creation time. * `st_ino` is now fill
windows: reimplement uv_fs_stat using NT syscalls This improves the output of uv_fs_stat: * `st_ctime` now contains the change time, not the creation time. * `st_ino` is now filled in with an fs-specific unique number. * `st_dev` is set to the serial number of the containing file system. * `st_blocks` now gets set. * `st_blksize` is no longer zero, but set to a reasonable default.
show more ...
|
1cc6f96f | 24-Aug-2013 |
Bert Belder |
windows: squelch some compiler warnings This removes some compiler warnings caused by implicit type conversion from uint64_t to long, which would happen in the `FILETIME_TO_TIMESPEC`
windows: squelch some compiler warnings This removes some compiler warnings caused by implicit type conversion from uint64_t to long, which would happen in the `FILETIME_TO_TIMESPEC` macro.
show more ...
|
315d7001 | 24-Aug-2013 |
Bert Belder |
windows: make it possible to use NtQueryVolumeInformationFile This commit adds bootstrap code, function signatures, struct definitions etc. to make it possible for libuv to use NtQueryVo
windows: make it possible to use NtQueryVolumeInformationFile This commit adds bootstrap code, function signatures, struct definitions etc. to make it possible for libuv to use NtQueryVolumeInformationFile. Most of this comes from the NT DDK, which libuv mirrors so that people don't need the DDK to compile it.
show more ...
|
c283a9ef | 24-Aug-2013 |
Bert Belder |
windows: add DDK definitions for more file information classes Copy some more structs from the NT DDK to winapi.h, so people can compile libuv without installing the DDK. |
1f73bd40 | 24-Aug-2013 |
Bert Belder |
windows: add additional NTSTATUS class detection macros |
7f756955 | 24-Aug-2013 |
Bert Belder |
windows: make uv_fs_chmod() report errors correctly Before this patch libuv would attempt to use GetLastError() to retrieve the cause of NtQueryInformationFile failure, but that's not ho
windows: make uv_fs_chmod() report errors correctly Before this patch libuv would attempt to use GetLastError() to retrieve the cause of NtQueryInformationFile failure, but that's not how it should be done.
show more ...
|
d667653f | 24-Aug-2013 |
Bert Belder |
windows: report uv_process_t exit code correctly A stupid oversight in 66ae0ff would cause a random value to be reported as the exit code for a 'normally exited' child process. |
d8a3ed6c | 24-Aug-2013 |
Bert Belder |
test: strip trailing whitespace |
851a6624 | 24-Aug-2013 |
Bert Belder |
windows: make uv_fs_chmod() report errors correctly Before this patch libuv would attempt to use GetLastError() to retrieve the cause of NtQueryInformationFile failure, but that's not ho
windows: make uv_fs_chmod() report errors correctly Before this patch libuv would attempt to use GetLastError() to retrieve the cause of NtQueryInformationFile failure, but that's not how it should be done.
show more ...
|
17452cd0 | 24-Aug-2013 |
Ben Noordhuis |
linux: fix setsockopt(SO_REUSEPORT) error handling Linux as of 3.9 has a SO_REUSEPORT option that is similar but not identical to its BSD counterpart. On the BSDs, it turns on S
linux: fix setsockopt(SO_REUSEPORT) error handling Linux as of 3.9 has a SO_REUSEPORT option that is similar but not identical to its BSD counterpart. On the BSDs, it turns on SO_REUSEADDR _and_ makes it possible to share the address and port across processes. On Linux, it "merely" enables fair load distribution - port sharing still requires that you set SO_REUSEADDR. Fair distribution is a desirable trait but not an essential one. We don't know in advance whether the kernel actually supports SO_REUSEPORT so don't treat EINVAL or ENOPROTOOPT as errors. As an aside, on the BSDs we now omit the setsockopt(SO_REUSEADDR) system call because it's implied by SO_REUSEPORT. Fixes #870.
show more ...
|
c8b6895e | 23-Aug-2013 |
Bert Belder |
Now working on v0.10.16 |
221078a8 | 23-Aug-2013 |
Bert Belder |
2013.08.24, Version 0.10.15 (Stable) Changes since version 0.10.14: * fsevents: create FSEvents thread on demand (Ben Noordhuis) * fsevents: use a single thread for interac
2013.08.24, Version 0.10.15 (Stable) Changes since version 0.10.14: * fsevents: create FSEvents thread on demand (Ben Noordhuis) * fsevents: use a single thread for interacting with FSEvents, because it's not thread-safe. (Fedor Indutny) * fsevents: share FSEventStream between multiple FS watchers, which removes a limit on the maximum number of file watchers that can be created on OS X. (Fedor Indutny)
show more ...
|
e47e6b2a | 23-Aug-2013 |
Bert Belder |
Now working on v0.11.10 |
a2d29b5b | 23-Aug-2013 |
Bert Belder |
2013.08.24, Version 0.11.9 (Unstable) Changes since version 0.11.8: * fsevents: share FSEventStream between multiple FS watchers, which removes a limit on the maximum number o
2013.08.24, Version 0.11.9 (Unstable) Changes since version 0.11.8: * fsevents: share FSEventStream between multiple FS watchers, which removes a limit on the maximum number of file watchers that can be created on OS X. (Fedor Indutny) * process: the `exit_status` parameter for a uv_process_t's exit callback now is an int64_t, and no longer an int. (Bert Belder) * process: make uv_spawn() return some types of errors immediately on windows, instead of passing the error code the the exit callback. This brings it on par with libuv's behavior on unix. (Bert Belder)
show more ...
|
66ae0ff5 | 22-Aug-2013 |
Bert Belder |
process: make the 'status' parameter for exit_cb an int64_t This means we no longer have to strip the high bit from the process exit code on Windows, which is problematic because an unha
process: make the 'status' parameter for exit_cb an int64_t This means we no longer have to strip the high bit from the process exit code on Windows, which is problematic because an unhandled SEH exception can make a process exit with a status code that has the high bit set.
show more ...
|
ed82eae1 | 22-Aug-2013 |
Bert Belder |
windows: make uv_spawn() failure more predictable * It will now report some types of errors synchronously, to bring it on par with uv-unix. Fixes #865. * Failure to find the t
windows: make uv_spawn() failure more predictable * It will now report some types of errors synchronously, to bring it on par with uv-unix. Fixes #865. * Failure to find the target executable will now set up stdio pipes correctly, so the user can assume that when uv_spawn() returns 0 these pipes will never trigger asserts in libuv's guts.
show more ...
|
684e2124 | 20-Aug-2013 |
Fedor Indutny |
fsevents: use shared FSEventStream It seems that number of simultaneously opened FSEventStreams is limited on OSX (i.e. you can have only fixed number of them on one running system),
fsevents: use shared FSEventStream It seems that number of simultaneously opened FSEventStreams is limited on OSX (i.e. you can have only fixed number of them on one running system), getting past through this limit will cause `FSEventStreamCreate` to return false and write following message to stderr: (CarbonCore.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-21) To prevent this, we must use only one shared FSEventStream with a paths for all uv_fsevent_t handles, and then filter out events for each handle using this paths again. See https://github.com/joyent/node/issues/5463 Conflicts: include/uv-private/uv-darwin.h src/unix/fsevents.c
show more ...
|
ea4cb778 | 14-Aug-2013 |
Fedor Indutny |
fsevents: FSEvents is most likely not thread-safe Perform all operation with FSEventStream in the same thread, where it'll be used. Conflicts: src/unix/fsevents.c |