From 5358d44522fc5788a7c4a2ccb086ce63306b3a43 Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Mon, 17 Jun 2013 18:34:59 +0400 Subject: [PATCH] IDEA-109028 (fsnotifier to not panic on incorrect paths) --- bin/linux/fsnotifier | Bin 22791 -> 22791 bytes bin/linux/fsnotifier64 | Bin 29155 -> 29155 bytes native/fsNotifier/linux/inotify.c | 15 +++++++------ native/fsNotifier/linux/main.c | 2 +- .../openapi/vfs/local/FileWatcherTest.java | 20 ++++++++++++++++++ 5 files changed, 30 insertions(+), 7 deletions(-) diff --git a/bin/linux/fsnotifier b/bin/linux/fsnotifier index 85973cc4aa1eab686793da29be2f88f18a418726..134573032b57faa6bade55415eeda2fc13211b2c 100755 GIT binary patch delta 3515 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 delta 3454 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 delta 3898 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 CQ(Jog diff --git a/native/fsNotifier/linux/inotify.c b/native/fsNotifier/linux/inotify.c index 444a5bf978a0..77536dc3dcba 100644 --- a/native/fsNotifier/linux/inotify.c +++ b/native/fsNotifier/linux/inotify.c @@ -305,14 +305,17 @@ int watch(const char* root, array* mounts) { struct stat st; if (stat(root, &st) != 0) { - if (errno == EACCES) { - return ERR_IGNORE; - } - else if (errno == ENOENT) { + if (errno == ENOENT) { return ERR_MISSING; } - userlog(LOG_ERR, "stat(%s): %s", root, strerror(errno)); - return ERR_ABORT; + else if (errno == EACCES || errno == ELOOP || errno == ENAMETOOLONG || errno == ENOTDIR) { + userlog(LOG_INFO, "stat(%s): %s", root, strerror(errno)); + return ERR_CONTINUE; + } + else { + userlog(LOG_ERR, "stat(%s): %s", root, strerror(errno)); + return ERR_ABORT; + } } if (S_ISREG(st.st_mode)) { diff --git a/native/fsNotifier/linux/main.c b/native/fsNotifier/linux/main.c index de87fad9479d..5b9ee0933b3d 100644 --- a/native/fsNotifier/linux/main.c +++ b/native/fsNotifier/linux/main.c @@ -36,7 +36,7 @@ #define LOG_ENV_ERROR "error" #define LOG_ENV_OFF "off" -#define VERSION "20130415.2136" +#define VERSION "20130617.1827" #define VERSION_MSG "fsnotifier " VERSION "\n" #define USAGE_MSG \ diff --git a/platform/platform-tests/testSrc/com/intellij/openapi/vfs/local/FileWatcherTest.java b/platform/platform-tests/testSrc/com/intellij/openapi/vfs/local/FileWatcherTest.java index c5fb489f5ce9..c133139644db 100644 --- a/platform/platform-tests/testSrc/com/intellij/openapi/vfs/local/FileWatcherTest.java +++ b/platform/platform-tests/testSrc/com/intellij/openapi/vfs/local/FileWatcherTest.java @@ -292,6 +292,26 @@ public class FileWatcherTest extends PlatformLangTestCase { } } + public void testIncorrectPath() throws Exception { + File topDir = createTestDir("top"); + File file = createTestFile(topDir, "file.zip"); + File subDir = new File(file, "sub/zip"); + refresh(topDir); + + LocalFileSystem.WatchRequest request = watch(subDir, false); + try { + myTimeout = 10 * INTER_RESPONSE_DELAY; + myAccept = true; + FileUtil.writeToFile(file, "new content"); + assertEvent(VFileEvent.class); + myTimeout = NATIVE_PROCESS_DELAY; + } + finally { + unwatch(request); + delete(topDir); + } + } + public void testDirectoryOverlapping() throws Exception { File topDir = createTestDir("top"); File fileInTopDir = createTestFile(topDir, "file1.txt");