chiark / gitweb /
prefork-interp: break out stabs_same_inode
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 20 Aug 2022 10:39:39 +0000 (11:39 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 21 Aug 2022 20:21:10 +0000 (21:21 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
cprogs/prefork-interp.c
cprogs/prefork.c
cprogs/prefork.h

index fcb2e97b2f6f37893f93499b6e8580bb260f931a..2a7fdc35c54dd8a24b56316abf94c64be1f1b722 100644 (file)
@@ -391,8 +391,7 @@ static void watcher_cb_sockpath(uv_fs_event_t *handle, const char *filename,
       if (errno==EINTR) continue;
       diee("stat socket: %s", socket_path);
     }
-    if (!(now_stab.st_dev == initial_stab.st_dev &&
-         now_stab.st_ino == initial_stab.st_ino))
+    if (!stabs_same_inode(&now_stab, &initial_stab))
       _exit(0);
   }
 }
index 909d0658ebf7f407f317f32164299b8306ff7101..5c1d5bfb0ece8e402a0fa182623c7914a4fa1f35 100644 (file)
@@ -71,6 +71,11 @@ void off_ident_addenv(const struct cmdinfo *ci, const char *name) {
   }
 }
 
+bool stabs_same_inode(struct stat *a, struct stat *b) {
+  return (a->st_dev == b->st_dev &&
+         a->st_ino == b->st_ino);
+}
+
 bool find_run_base_var_run(void) {
   struct stat stab;
   char *try;
index 4a3f996e362c52cf531a10024df786238cad9798..a046835179a37bd029e5ab85375880fa761301cd 100644 (file)
@@ -84,5 +84,6 @@ void of_iassign(const struct cmdinfo *ci, const char *val);
 void ident_addstring(const struct cmdinfo *ci, const char *string);
 void off_ident_addenv(const struct cmdinfo *ci, const char *name);
 void ident_addinit(void);
+bool stabs_same_inode(struct stat *a, struct stat *b);
 
 #endif /*PREFORK_H*/