(List (= scope= flags=0 words=[] bindings=[('PATH', {[LIT_CHARS /sbin] [LIT_OTHER ":"] [LIT_CHARS /usr/sbin] [LIT_OTHER ":"] [LIT_CHARS /bin] [LIT_OTHER ":"] [LIT_CHARS /usr/bin]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS /lib/init/vars.sh]}) (Com {[LIT_CHARS .]} {[LIT_CHARS /lib/lsb/init-functions]}) (Com {[LIT_CHARS umask]} {[LIT_CHARS 022]}) (FunctionDef do_stop [] (List (= scope= flags=0 words=[] bindings=[('PROTECTED_MOUNTS', {[DQ [ComSub (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[SQ ]} {[LIT_CHARS /proc/mounts]})]]})]) (= scope= flags=0 words=[] bindings=[('WEAK_MTPTS', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('REG_MTPTS', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('TMPFS_MTPTS', {[DQ ]})]) (While (Com {[LIT_CHARS read]} {[LIT_CHARS -r]} {[LIT_CHARS DEV]} {[LIT_CHARS MTPT]} {[LIT_CHARS FSTYPE]} {[LIT_CHARS REST]}) (List (AndOr OP_AND_IF (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub PROTECTED_MOUNTS]]}) (Com {[LIT_CHARS grep]} {[LIT_CHARS -qs]} {[DQ [LIT_CHARS "^"][VarSub DEV][LIT_CHARS " "][VarSub MTPT][LIT_CHARS " "]]}) ) (Com {[LIT_CHARS continue]}) ) (Case to_match={[DQ [VarSub MTPT]]}, pat_word_list=[[{[LIT_CHARS /]}, {[LIT_CHARS /proc]}, {[LIT_CHARS /dev]}, {[LIT_CHARS /.dev]}, {[LIT_CHARS /dev/pts]}, {[LIT_CHARS /dev/shm]}, {[LIT_CHARS /dev/.static/dev]}, {[LIT_CHARS /proc/] [LIT_OTHER "*"]}, {[LIT_CHARS /sys]}, {[LIT_CHARS /sys/] [LIT_OTHER "*"]}, {[LIT_CHARS /run]}, {[LIT_CHARS /run/] [LIT_OTHER "*"]}]] (Com {[LIT_CHARS continue]}) ) (Case to_match={[DQ [VarSub FSTYPE]]}, pat_word_list=[[{[LIT_CHARS proc]}, {[LIT_CHARS procfs]}, {[LIT_CHARS linprocfs]}, {[LIT_CHARS sysfs]}, {[LIT_CHARS usbfs]}, {[LIT_CHARS usbdevfs]}, {[LIT_CHARS devpts]}], [{[LIT_CHARS tmpfs]}], [{[LIT_OTHER "*"]}]] (Com {[LIT_CHARS continue]}) (= scope= flags=0 words=[] bindings=[('TMPFS_MTPTS', {[DQ [VarSub MTPT][LIT_CHARS " "][VarSub TMPFS_MTPTS]]})]) (If (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub PROTECTED_MOUNTS]]}) (Com {[LIT_CHARS grep]} {[LIT_CHARS -qs]} {[DQ [LIT_CHARS "^"][VarSub DEV][LIT_CHARS " "]]}) ) (= scope= flags=0 words=[] bindings=[('WEAK_MTPTS', {[DQ [VarSub MTPT][LIT_CHARS " "][VarSub WEAK_MTPTS]]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('REG_MTPTS', {[DQ [VarSub MTPT][LIT_CHARS " "][VarSub REG_MTPTS]]})]) ) ) ) ) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub TMPFS_MTPTS]]} {[LIT_OTHER "]"]}) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub VERBOSE]]} {[LIT_OTHER "="]} {[LIT_CHARS no]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS log_action_begin_msg]} {[DQ [LIT_CHARS "Unmounting temporary filesystems"]]}) (Com {[LIT_CHARS fstab-decode]} {[LIT_CHARS umount]} {[VarSub TMPFS_MTPTS]}) (Com {[LIT_CHARS log_action_end_msg]} {[VarSub ?]}) ) (ElseTrue) (List (Com {[LIT_CHARS log_daemon_msg]} {[DQ [LIT_CHARS "Will now unmount temporary filesystems"]]}) (Com {[LIT_CHARS fstab-decode]} {[LIT_CHARS umount]} {[LIT_CHARS -v]} {[VarSub TMPFS_MTPTS]}) (Com {[LIT_CHARS log_end_msg]} {[VarSub ?]}) ) ) ) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub VERBOSE]]} {[LIT_OTHER "="]} {[LIT_CHARS no]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS log_action_begin_msg]} {[DQ [LIT_CHARS "Deactivating swap"]]}) (Com {[LIT_CHARS swapoff]} {[LIT_CHARS -a]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (Com {[LIT_CHARS log_action_end_msg]} {[VarSub ?]}) ) (ElseTrue) (List (Com {[LIT_CHARS log_daemon_msg]} {[DQ [LIT_CHARS "Will now deactivate swap"]]}) (Com {[LIT_CHARS swapoff]} {[LIT_CHARS -a]} {[LIT_CHARS -v]}) (Com {[LIT_CHARS log_end_msg]} {[VarSub ?]}) ) ) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub WEAK_MTPTS]]} {[LIT_OTHER "]"]}) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub VERBOSE]]} {[LIT_OTHER "="]} {[LIT_CHARS no]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS log_action_begin_msg]} {[DQ [LIT_CHARS "Unmounting weak filesystems"]]}) (Com {[LIT_CHARS fstab-decode]} {[LIT_CHARS umount]} {[LIT_CHARS -r]} {[LIT_CHARS -d]} {[VarSub WEAK_MTPTS]}) (Com {[LIT_CHARS log_action_end_msg]} {[VarSub ?]}) ) (ElseTrue) (List (Com {[LIT_CHARS log_daemon_msg]} {[DQ [LIT_CHARS "Will now unmount weak filesystems"]]}) (Com {[LIT_CHARS fstab-decode]} {[LIT_CHARS umount]} {[LIT_CHARS -v]} {[LIT_CHARS -r]} {[LIT_CHARS -d]} {[VarSub WEAK_MTPTS]}) (Com {[LIT_CHARS log_end_msg]} {[VarSub ?]}) ) ) ) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub REG_MTPTS]]} {[LIT_OTHER "]"]}) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub VERBOSE]]} {[LIT_OTHER "="]} {[LIT_CHARS no]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS log_action_begin_msg]} {[DQ [LIT_CHARS "Unmounting local filesystems"]]}) (Com {[LIT_CHARS fstab-decode]} {[LIT_CHARS umount]} {[LIT_CHARS -f]} {[LIT_CHARS -r]} {[LIT_CHARS -d]} {[VarSub REG_MTPTS]}) (Com {[LIT_CHARS log_action_end_msg]} {[VarSub ?]}) ) (ElseTrue) (List (Com {[LIT_CHARS log_daemon_msg]} {[DQ [LIT_CHARS "Will now unmount local filesystems"]]}) (Com {[LIT_CHARS fstab-decode]} {[LIT_CHARS umount]} {[LIT_CHARS -f]} {[LIT_CHARS -v]} {[LIT_CHARS -r]} {[LIT_CHARS -d]} {[VarSub REG_MTPTS]}) (Com {[LIT_CHARS log_end_msg]} {[VarSub ?]}) ) ) ) ) ) (Case to_match={[DQ [VarSub 1]]}, pat_word_list=[[{[LIT_CHARS start]}], [{[LIT_CHARS restart]}, {[LIT_CHARS reload]}, {[LIT_CHARS force-reload]}], [{[LIT_CHARS stop]}], [{[LIT_OTHER "*"]}]] (ElseTrue) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Error: argument '"][VarSub 1][LIT_CHARS "' not supported"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 3]}) ) (Com {[LIT_CHARS do_stop]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Usage: "][VarSub 0][LIT_CHARS " start|stop"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 3]}) ) ) (Com {[LIT_OTHER ":"]}) )