XDDA5JPEY3VNHPK32G7GYRFNHF5K5JOIL7QBPK6F7GSR5MNRMAJQC VIPO7NAXJ7HWGD5XJEBQI6FBQ2QYR5HTI6UYGK64U4WH6EXPSBOQC HH5I4HSPYNDRQHIOTASMU5BGFD754OUI4ZGRZQHUE5SM6OTJTEWQC 6XZIQSMIVP2GZ5S3UCKEVNDSLTHSQEVSXLV4UIFF3G3SRCGJPXYAC QPIH44BS3UQOFH7SUW5JGWQ7EK6CGTPVBB57PKRU7EOK6PLVTQAQC 7B74AT3BXYB7PVW4F6SGQNPMHOU5TEV5TZ54CG6VSQI46XSEKWXQC 4QUF4MKRSB5LYYS5FSYTCDSIEMYIERI2BQZLRGJ3GIGVYCPJVEPAC 6V3JKJZJ7KBS5I3Q266ZCRJYVO56ZQKLJL4EOHN6XC222CZFXCDQC }voidsigchld(int unused){siginfo_t in;/* We should be able to remove this function in favor of a simple* signal(SIGCHLD, SIG_IGN);* but the Xwayland implementation in wlroots currently prevents us from* setting our own disposition for SIGCHLD.*/if (signal(SIGCHLD, sigchld) == SIG_ERR)EBARF("can't install SIGCHLD handler");/* WNOWAIT leaves the child in a waitable state, in case this is the* XWayland process*/while (!waitid(P_ALL, 0, &in, WEXITED|WNOHANG|WNOWAIT) && in.si_pid&& in.si_pid != xwayland->server->pid)waitpid(in.si_pid, NULL, 0);
}voidsigchld(int unused){siginfo_t in;/* We should be able to remove this function in favor of a simple* signal(SIGCHLD, SIG_IGN);* but the Xwayland implementation in wlroots currently prevents us from* setting our own disposition for SIGCHLD.*/if (signal(SIGCHLD, sigchld) == SIG_ERR)EBARF("can't install SIGCHLD handler");/* WNOWAIT leaves the child in a waitable state, in case this is the* XWayland process*/while (!waitid(P_ALL, 0, &in, WEXITED|WNOHANG|WNOWAIT) && in.si_pid&& in.si_pid != xwayland->server->pid)waitpid(in.si_pid, NULL, 0);