[PATCH 1/5] server: Handle more inotify mask values
Alexandre Julliard
julliard at winehq.org
Thu Dec 16 04:52:32 CST 2010
Piotr Caban <piotr at codeweavers.com> writes:
> -static int inode_check_dir( struct inode *parent, const char *name )
> -{
> - char *path;
> - unsigned int filter;
> - struct inode *inode;
> - struct stat st;
> - int wd = -1, r = -1;
> -
> - path = inode_get_path( parent, strlen(name) );
> - if (!path)
> - return r;
> -
> - strcat( path, name );
> -
> - r = stat( path, &st );
> - if (r < 0) goto end;
> -
> - if (!S_ISDIR(st.st_mode))
> - {
> - r = 0;
> - goto end;
> - }
> -
> - r = 1;
> -
> - filter = filter_from_inode( parent, 1 );
> - if (!filter)
> - goto end;
> -
> - inode = inode_add( parent, st.st_dev, st.st_ino, name );
> - if (!inode || inode->wd != -1)
> - goto end;
> -
> - wd = inotify_add_dir( path, filter );
> - if (wd != -1)
> - inode_set_wd( inode, wd );
> - else
> - free_inode( inode );
> -
> -end:
> - free( path );
> - return r;
> -}
You can't remove all this, you still need to add a watch for newly
created directories.
--
Alexandre Julliard
julliard at winehq.org
More information about the wine-devel
mailing list