summaryrefslogtreecommitdiff
path: root/Userland/mon.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Userland/mon.cpp')
-rw-r--r--Userland/mon.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/Userland/mon.cpp b/Userland/mon.cpp
new file mode 100644
index 0000000000..c8980ca388
--- /dev/null
+++ b/Userland/mon.cpp
@@ -0,0 +1,29 @@
+#include <AK/LogStream.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+int main(int argc, char** argv)
+{
+ const char* path = argc > 1 ? argv[1] : ".";
+ int watch_fd = watch_file(path, strlen(path));
+ if (watch_fd < 0) {
+ perror("Unable to watch");
+ return 1;
+ }
+ for (;;) {
+ char buffer[256];
+ int rc = read(watch_fd, buffer, sizeof(buffer));
+ if (rc < 0) {
+ perror("read");
+ return 1;
+ }
+ if (rc == 0) {
+ printf("End-of-file.\n");
+ return 0;
+ }
+ printf("Something changed about '%s'\n", path);
+ }
+ return 0;
+}