]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/kern/kern_xxx.c
xnu-3248.60.10.tar.gz
[apple/xnu.git] / bsd / kern / kern_xxx.c
index dde94f5a20aeea88538e48a20ee874e751472129..0fe1cfa3070eff6ed338259b5f822772cdd84dd3 100644 (file)
@@ -85,6 +85,9 @@
 #include <security/mac_framework.h>
 #endif
 
+int pshm_cache_purge_all(proc_t p);
+int psem_cache_purge_all(proc_t p);
+
 int
 reboot(struct proc *p, register struct reboot_args *uap, __unused int32_t *retval)
 {
@@ -127,3 +130,19 @@ reboot(struct proc *p, register struct reboot_args *uap, __unused int32_t *retva
        }
        return(error);
 }
+
+int
+usrctl(struct proc *p, __unused register struct usrctl_args *uap, __unused int32_t *retval)
+{
+       if (p != initproc) {
+               return EPERM;
+       }
+
+       int error = 0;
+       error = pshm_cache_purge_all(p);
+       if (error)
+               return error;
+
+       error = psem_cache_purge_all(p);
+       return error;
+}