Browse Source

*** empty log message ***

master
Marc Alexander Lehmann 13 years ago
parent
commit
b1cb752992
  1. 29
      ev.pod

29
ev.pod

@ -1934,10 +1934,11 @@ and sees if it changed compared to the last time, invoking the callback if
it did.
The path does not need to exist: changing from "path exists" to "path does
not exist" is a status change like any other. The condition "path does
not exist" is signified by the C<st_nlink> field being zero (which is
otherwise always forced to be at least one) and all the other fields of
the stat buffer having unspecified contents.
not exist" is a status change like any other. The condition "path does not
exist" (or more correctly "path cannot be stat'ed") is signified by the
C<st_nlink> field being zero (which is otherwise always forced to be at
least one) and all the other fields of the stat buffer having unspecified
contents.
The path I<must not> end in a slash or contain special components such as
C<.> or C<..>. The path I<should> be absolute: If it is relative and
@ -1957,9 +1958,9 @@ as even with OS-supported change notifications, this can be
resource-intensive.
At the time of this writing, the only OS-specific interface implemented
is the Linux inotify interface (implementing kqueue support is left as
an exercise for the reader. Note, however, that the author sees no way
of implementing C<ev_stat> semantics with kqueue).
is the Linux inotify interface (implementing kqueue support is left as an
exercise for the reader. Note, however, that the author sees no way of
implementing C<ev_stat> semantics with kqueue, except as a hint).
=head3 ABI Issues (Largefile Support)
@ -1980,17 +1981,19 @@ default compilation environment.
=head3 Inotify and Kqueue
When C<inotify (7)> support has been compiled into libev (generally
only available with Linux 2.6.25 or above due to bugs in earlier
implementations) and present at runtime, it will be used to speed up
change detection where possible. The inotify descriptor will be created
lazily when the first C<ev_stat> watcher is being started.
When C<inotify (7)> support has been compiled into libev and present at
runtime, it will be used to speed up change detection where possible. The
inotify descriptor will be created lazily when the first C<ev_stat>
watcher is being started.
Inotify presence does not change the semantics of C<ev_stat> watchers
except that changes might be detected earlier, and in some cases, to avoid
making regular C<stat> calls. Even in the presence of inotify support
there are many cases where libev has to resort to regular C<stat> polling,
but as long as the path exists, libev usually gets away without polling.
but as long as kernel 2.6.25 or newer is used (2.6.24 and older have too
many bugs), the path exists (i.e. stat succeeds), and the path resides on
a local filesystem (libev currently assumes only ext2/3, jfs, reiserfs and
xfs are fully working) libev usually gets away without polling.
There is no support for kqueue, as apparently it cannot be used to
implement this functionality, due to the requirement of having a file

Loading…
Cancel
Save