chiark / gitweb /
path_id: skip subsystem directory
[elogind.git] / udev_utils_run.c
index 2771861cf55ad4bd9e4a72bac404f7909c89c9ed..8137ec1c66168530f615069ecd97c4560ad2ffb6 100644 (file)
@@ -1,6 +1,4 @@
 /*
- * udev_utils_run.c - execute programs from udev and read its output
- *
  * Copyright (C) 2004-2005 Kay Sievers <kay.sievers@vrfy.org>
  *
  *     This program is free software; you can redistribute it and/or modify it
@@ -14,7 +12,7 @@
  * 
  *     You should have received a copy of the GNU General Public License along
  *     with this program; if not, write to the Free Software Foundation, Inc.,
- *     675 Mass Ave, Cambridge, MA 02139, USA.
+ *     51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  *
  */
 
@@ -160,9 +158,13 @@ int run_program(const char *command, const char *subsystem,
                        close(errpipe[WRITE_END]);
                }
                execv(argv[0], argv);
-
-               /* we should never reach this */
-               err("exec of program '%s' failed", argv[0]);
+               if ((errno == ENOENT) || (errno = ENOTDIR)) {
+                       /* may be on a filesytem which is not mounted right now */
+                       info("program '%s' not found", argv[0]);
+               } else {
+                       /* other problems */
+                       err("exec of program '%s' failed", argv[0]);
+               }
                _exit(1);
        case -1:
                err("fork of '%s' failed: %s", argv[0], strerror(errno));