+
+
+boolean_t thread_is_io_throttled(void);
+
+boolean_t
+thread_is_io_throttled(void)
+{
+ return(proc_get_task_selfdiskacc() == IOPOL_THROTTLE);
+}
+
+void
+proc_apply_task_networkbg(void * bsd_info)
+{
+ proc_t p = PROC_NULL;
+ proc_t curp = (proc_t)bsd_info;
+ pid_t pid;
+
+ pid = curp->p_pid;
+ p = proc_find(pid);
+ if (p != PROC_NULL) {
+ do_background_socket(p, NULL, PRIO_DARWIN_BG);
+ proc_rele(p);
+ }
+}
+
+void
+proc_restore_task_networkbg(void * bsd_info)
+{
+ proc_t p = PROC_NULL;
+ proc_t curp = (proc_t)bsd_info;
+ pid_t pid;
+
+ pid = curp->p_pid;
+ p = proc_find(pid);
+ if (p != PROC_NULL) {
+ do_background_socket(p, NULL, 0);
+ proc_rele(p);
+ }
+
+}
+
+void
+proc_set_task_networkbg(void * bsdinfo, int setbg)
+{
+ if (setbg != 0)
+ proc_apply_task_networkbg(bsdinfo);
+ else
+ proc_restore_task_networkbg(bsdinfo);
+}
+
+void
+proc_apply_task_networkbg_internal(proc_t p, thread_t thread)
+{
+ if (p != PROC_NULL) {
+ do_background_socket(p, thread, PRIO_DARWIN_BG);
+ }
+}
+void
+proc_restore_task_networkbg_internal(proc_t p, thread_t thread)
+{
+ if (p != PROC_NULL) {
+ do_background_socket(p, thread, PRIO_DARWIN_BG);
+ }
+}
+