/*
 * DF-2815 - single-threaded direct reboot(2) caller.
 *
 * Deliberately single-threaded and fd-free so boot()'s
 * shutdown_cleanup_proc(curproc) is harmless, letting the kernel proceed
 * cleanly to dumpsys() while a SEPARATE churner process races
 * DIOCGKERNELDUMP set/clear against the in-flight dump.
 */
#include <sys/reboot.h>
#include <sys/syscall.h>
#include <stdio.h>
#include <unistd.h>

int
main(void)
{
	printf("rebootdirect: calling reboot(RB_DUMP|RB_NOSYNC)\n");
	fflush(stdout);
	syscall(SYS_reboot, RB_AUTOBOOT | RB_DUMP | RB_NOSYNC);
	printf("rebootdirect: returned?!\n");
	return (0);
}
