/* Called just before shutdown in order to provide a clean exec environment in case the system is rebooting. No locking because that would cause a pointless shutdown hang if something hadn't released the lock.  */
int deactivate_all_fds(void)
/* Called just before shutdown in order to provide a clean exec environment in case the system is rebooting. No locking because that would cause a pointless shutdown hang if something hadn't released the lock.  */
int deactivate_all_fds(void)
{
	struct irq_fd *irq;
	int err;
	for (irq = active_fds; irq != NULL; irq = irq->next) {
		err = os_clear_fd_async(irq->fd);
		if (err)
			return err;
	}
	os_set_ioignore();
	return 0;
}