path: add PathModified (= PathChanged + IN_MODIFY)

This commit is contained in:
Michal Schmidt 2011-12-03 10:22:26 +01:00
parent 4b562198c7
commit e92238567b
3 changed files with 13 additions and 7 deletions

View File

@ -113,6 +113,7 @@
<term><varname>PathExists=</varname></term>
<term><varname>PathExistsGlob=</varname></term>
<term><varname>PathChanged=</varname></term>
<term><varname>PathModified=</varname></term>
<term><varname>DirectoryNotEmpty=</varname></term>
<listitem><para>Defines paths to
@ -129,8 +130,14 @@
specified. <varname>PathChanged=</varname>
may be used to watch a file or
directory and activate the configured
unit whenever it changes or is
modified. <varname>DirectoryNotEmpty=</varname>
unit whenever it changes. It is not activated
on every write to the watched file but it is
activated if the file which was open for writing
gets closed. <varname>PathModified=</varname>
is similar, but additionally it is activated
also on simple writes to the watched file.
<varname>DirectoryNotEmpty=</varname>
may be used to watch a directory and
activate the configured unit whenever
it contains at least one file.</para>
@ -154,11 +161,7 @@
activated, then the configured unit is
immediately activated as
well. Something similar does not apply
to
<varname>PathChanged=</varname>. The
latter is not activated on simple
writes but only if files with were
opened for writing are closed.
to <varname>PathChanged=</varname>.
</para></listitem>
</varlistentry>
<varlistentry>

View File

@ -44,6 +44,7 @@ int pathspec_watch(PathSpec *s, Unit *u) {
[PATH_EXISTS] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB,
[PATH_EXISTS_GLOB] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB,
[PATH_CHANGED] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB|IN_CLOSE_WRITE|IN_CREATE|IN_DELETE|IN_MOVED_FROM|IN_MOVED_TO,
[PATH_MODIFIED] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB|IN_CLOSE_WRITE|IN_CREATE|IN_DELETE|IN_MOVED_FROM|IN_MOVED_TO|IN_MODIFY,
[PATH_DIRECTORY_NOT_EMPTY] = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB|IN_CREATE|IN_MOVED_TO
};
@ -713,6 +714,7 @@ static const char* const path_type_table[_PATH_TYPE_MAX] = {
[PATH_EXISTS] = "PathExists",
[PATH_EXISTS_GLOB] = "PathExistsGlob",
[PATH_CHANGED] = "PathChanged",
[PATH_MODIFIED] = "PathModified",
[PATH_DIRECTORY_NOT_EMPTY] = "DirectoryNotEmpty"
};

View File

@ -41,6 +41,7 @@ typedef enum PathType {
PATH_EXISTS_GLOB,
PATH_DIRECTORY_NOT_EMPTY,
PATH_CHANGED,
PATH_MODIFIED,
_PATH_TYPE_MAX,
_PATH_TYPE_INVALID = -1
} PathType;