History log of /libuv/src/unix/kqueue.c (Results 51 – 75 of 90)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
Revision tags: v0.10.21, v0.11.16, v0.10.20, v0.11.15
# 17711b90 13-Nov-2013 Ben Noordhuis

Merge remote-tracking branch 'origin/v0.10'

Conflicts:
AUTHORS
ChangeLog
src/unix/darwin.c
src/version.c


# 026241ca 13-Nov-2013 Ben Noordhuis

unix: unbreak bsd build after bbccafb

Unbreak the build on the BSDs after commit bbccafb. Move the new
uv__platform_invalidate_fd() function from src/unix/darwin.c to
src/unix/kqueu

unix: unbreak bsd build after bbccafb

Unbreak the build on the BSDs after commit bbccafb. Move the new
uv__platform_invalidate_fd() function from src/unix/darwin.c to
src/unix/kqueue.c.

show more ...

Revision tags: v0.10.19
# 6149b66c 12-Nov-2013 Fedor Indutny

Merge branch 'v0.10'

Conflicts:
build.mk
src/unix/core.c
src/unix/darwin.c


Revision tags: v0.11.14
# bbccafbe 25-Oct-2013 Fedor Indutny

unix: fix reopened fd bug

When fd is closed and new one (with the same number) is opened inside
kqueue/epoll/port loop's callback - stale events might invoke callbacks
on wrong watch

unix: fix reopened fd bug

When fd is closed and new one (with the same number) is opened inside
kqueue/epoll/port loop's callback - stale events might invoke callbacks
on wrong watchers.

Check if watcher was changed after invocation and invalidate all events
with the same fd.

fix #826

show more ...

# 2bb3326c 08-Nov-2013 Ben Noordhuis

Merge remote-tracking branch 'origin/v0.10'

Drops commit 3780e12 ("fsevents: support japaneese characters in path")
for being quite inapplicable to the master branch. Will be reworked

Merge remote-tracking branch 'origin/v0.10'

Drops commit 3780e12 ("fsevents: support japaneese characters in path")
for being quite inapplicable to the master branch. Will be reworked
and applied in a follow-up commit.

Conflicts:
README.md
build.mk
src/unix/fsevents.c
src/unix/udp.c

show more ...


# 29fdb347 25-Oct-2013 Fedor Indutny

unix: update events from pevents between polls

Watchers could be stopped between two `kevent()`/`epoll_wait()` calls
(which may happen in the same loop in `uv__io_poll()`), in such cases

unix: update events from pevents between polls

Watchers could be stopped between two `kevent()`/`epoll_wait()` calls
(which may happen in the same loop in `uv__io_poll()`), in such cases
`watcher->events` could be stale and won't be updated to
`watcher->pevents`.

Try to use and rely on `watcher->pevents` instead of blindly expecting
`watcher->events` to be always correct.

show more ...

Revision tags: v0.10.18, v0.10.17
# 9d44d786 23-Sep-2013 Saúl Ibarra Corretgé

unix, windows: add uv_fs_event_start/stop functions

Make uv_fs_event behave like other handles, that is, it's inactive after
init, and it's active between start and stop.

# 38df93cf 05-Oct-2013 Ben Noordhuis

unix: revert recent FSEvent changes

This commit reverts the following commits:

983fa68 darwin: fix 10.6 build error in fsevents.c
684e212 fsevents: use shared FSEventStr

unix: revert recent FSEvent changes

This commit reverts the following commits:

983fa68 darwin: fix 10.6 build error in fsevents.c
684e212 fsevents: use shared FSEventStream
ea4cb77 fsevents: FSEvents is most likely not thread-safe
9bae606 darwin: create fsevents thread on demand

Several people have reported stability issues on OS X 10.8 and bus
errors on the 10.9 developer preview.

See also joyent/node#6296 and joyent/node#6251.

show more ...

# 359d6678 01-Oct-2013 Ben Noordhuis

unix: sanity-check fds before closing

Ensure that close() system calls don't close stdio file descriptors
because that is almost never the intention.

This is also a partial work

unix: sanity-check fds before closing

Ensure that close() system calls don't close stdio file descriptors
because that is almost never the intention.

This is also a partial workaround for a kernel bug that seems to affect
all Linux kernels when stdin is a pipe that gets closed: fd 0 keeps
signalling EPOLLHUP but a subsequent call to epoll_ctl(EPOLL_CTL_DEL)
fails with EBADF. See joyent/node#6271 for details and a test case.

show more ...

Revision tags: v0.10.16, v0.11.13, v0.11.12, v0.11.11, v0.11.10, v0.10.15, v0.11.9, v0.10.14, v0.11.8
# 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

# cd2794c0 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

show more ...

# 303ae3b9 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.

Revision tags: v0.11.7, v0.10.13, v0.11.6, v0.10.12, v0.11.5, v0.10.11
# 3ee4d3f1 06-Jun-2013 Ben Noordhuis

unix, windows: return error codes directly

This commit changes the libuv API to return error codes directly rather
than storing them in a loop-global field.

A code snippet like

unix, windows: return error codes directly

This commit changes the libuv API to return error codes directly rather
than storing them in a loop-global field.

A code snippet like this one:

if (uv_foo(loop) < 0) {
uv_err_t err = uv_last_error(loop);
fprintf(stderr, "%s\n", uv_strerror(err));
}

Should be rewritten like this:

int err = uv_foo(loop);
if (err < 0)
fprintf(stderr, "%s\n", uv_strerror(err));

The rationale for this change is that it should make creating bindings
for other languages a lot easier: dealing with struct return values is
painful with most FFIs and often downright buggy.

show more ...

Revision tags: v0.10.10, v0.11.4, v0.10.9, v0.10.8, v0.11.3, v0.10.7, v0.10.6, v0.11.2, v0.10.5, v0.10.4, v0.11.1
# 145f7b35 10-Apr-2013 Ben Noordhuis

darwin: look up file path with F_GETPATH

Look up the file path with fcntl(F_GETPATH) and pass it to
the uv_fs_event_cb callback.

Revision tags: node-v0.11.0
# 0635e297 26-Mar-2013 Ben Noordhuis

unix, windows: remove ngx-queue.h

Avoids an extra #include in public headers and stops the ngx_queue_*
types and macros from leaking into user code.

Revision tags: v0.10.2, node-v0.7.3, node-v0.7.7, node-v0.7.5, node-v0.5.3, node-v0.10.1, node-v0.10.0, node-v0.9.12, node-v0.9.11
# c98083ef 22-Feb-2013 Ben Noordhuis

unix: short-circuit on no-op io watcher changes

Don't add the io watcher to the watcher queue if the requested change
is effectively a no-op, that is, when the event mask doesn't change.

unix: short-circuit on no-op io watcher changes

Don't add the io watcher to the watcher queue if the requested change
is effectively a no-op, that is, when the event mask doesn't change.

The exception here is sunos because the event ports backend requires
that watched file descriptors are re-added on every turn of the event
loop.

This commit is a micro-optimization, it does not change the event
loop's observable behavior in any way.

show more ...

Revision tags: node-v0.8.21
# c15d4a7c 08-Feb-2013 Fedor Indutny

stream: use kevent() information before accept()

Limit number of syscalls by using backlog length information provided by
kevent().

Revision tags: node-v0.8.19, node-v0.9.10, node-v0.9.7, node-v0.9.6
# 2f553534 06-Jan-2013 Ben Noordhuis

unix: update loop->time after poll

Fixes a bug where timers expire prematurely when the following
conditions hold:

a) libuv first spends some time blocked in the platform poll

unix: update loop->time after poll

Fixes a bug where timers expire prematurely when the following
conditions hold:

a) libuv first spends some time blocked in the platform poll function
b) a callback then calls uv_timer_start()

Cause: uv_timer_start() uses an out-of-date loop->time in its
'when should the timer callback run?' calculations.

Solution: Update loop->time before invoking any callbacks.

Fixes #678.

show more ...

# 339033af 06-Jan-2013 Ben Noordhuis

unix: use uv__hrtime() internally

This commit renames the various uv_hrtime() implementations to uv__hrtime().

Libuv uses the high-res timer internally in performance-critical code

unix: use uv__hrtime() internally

This commit renames the various uv_hrtime() implementations to uv__hrtime().

Libuv uses the high-res timer internally in performance-critical code paths.
Calling the non-public version avoids going through the PLT when libuv is
compiled as a shared object.

The exported uv_hrtime() now has a single definition in src/unix/core.c that
calls uv__hrtime().

A future optimization is to lift the uv__hrtime() declarations into header
files so they can be inlined at the call sites. Then again, linking with -flto
should accomplish the same thing.

show more ...

Revision tags: node-v0.9.4
# b86ed949 17-Dec-2012 Fedor Indutny

kqueue: ignore ENOENT error

File descriptor might be closed during callback, all events that was reported
before the callback are not valid and trying to remove them will result
in E

kqueue: ignore ENOENT error

File descriptor might be closed during callback, all events that was reported
before the callback are not valid and trying to remove them will result
in ENOENT. This error can be safely ignored.

show more ...

Revision tags: node-v0.8.17
# 65bb6f06 15-Nov-2012 Ben Noordhuis

unix: rename UV__IO_* constants

Revision tags: node-v0.8.15, node-v0.9.3, node-v0.8.12, node-v0.8.10, node-v0.9.2, node-v0.8.9, node-v0.9.1
# 1282d648 22-Aug-2012 Ben Noordhuis

unix: remove dependency on libev

# 778144f0 17-Sep-2012 Fedor Indutny

darwin: emit relative path in fsevents

Revision tags: node-v0.8.8, node-v0.8.7
# f8e7513a 13-Aug-2012 Fedor Indutny

darwin: use FSEvents to watch directory changes

1234