If I'm not entirely mistaken this patch results in simpler and
more readable and straight forward code. The current code checks
for directories that can not exist since they were removed a few
lines before and then creates them.

Index: rc
===================================================================
RCS file: /cvs/src/etc/rc,v
retrieving revision 1.392
diff -u -p -r1.392 rc
--- rc  28 Jul 2011 19:09:16 -0000      1.392
+++ rc  27 Mar 2012 21:34:00 -0000
@@ -183,30 +183,6 @@ make_keys()
        ssh-keygen -A
 }
 
-# create Unix sockets directories for X if needed and make sure they have
-# correct permissions
-setup_X_sockets()
-{
-       if [ -d /usr/X11R6/lib ]; then
-               for d in /tmp/.X11-unix /tmp/.ICE-unix ; do
-                       if [ -d $d ]; then
-                               if [ `ls -ld $d | cut -d' ' -f4` \
-                                   != root ]; then
-                                       chown root $d
-                               fi
-                               if [ `ls -ld $d | cut -d' ' -f1` \
-                                   != drwxrwxrwt ]; then
-                                       chmod 1777 $d
-                               fi
-                       elif [ -e $d ]; then
-                               echo "Error: $d exists and isn't a directory."
-                       else
-                               mkdir -m 1777 $d
-                       fi
-               done
-       fi
-}
-
 # End subroutines
 
 stty status '^T'
@@ -442,14 +418,18 @@ fi
 
 echo clearing /tmp
 
-# prune quickly with one rm, then use find to clean up /tmp/[lq]*
+# Prune quickly with one rm, then use find to clean up /tmp
 # (not needed with mfs /tmp, but doesn't hurt there...)
 (cd /tmp && rm -rf [a-km-pr-zA-Z]*)
 (cd /tmp &&
     find . ! -name . ! -name lost+found ! -name quota.user \
        ! -name quota.group -execdir rm -rf -- {} \; -type d -prune)
 
-setup_X_sockets
+# Create Unix socket directories for X if needed.
+if [ -d /usr/X11R6/lib ]; then
+    mkdir -m 1777 /tmp/.{X11,ICE}-unix
+fi
+
 
 [ -f /etc/rc.securelevel ] && . /etc/rc.securelevel
 if [ X"${securelevel}" != X"" ]; then


# Han

Reply via email to