1*9cd65655SAlexey Dobriyan #include <sys/types.h> 2*9cd65655SAlexey Dobriyan #include <sys/stat.h> 3*9cd65655SAlexey Dobriyan #include <fcntl.h> 4*9cd65655SAlexey Dobriyan #include <errno.h> 5*9cd65655SAlexey Dobriyan #include <unistd.h> 6*9cd65655SAlexey Dobriyan 7*9cd65655SAlexey Dobriyan int main(void) 8*9cd65655SAlexey Dobriyan { 9*9cd65655SAlexey Dobriyan char buf[64]; 10*9cd65655SAlexey Dobriyan int fd; 11*9cd65655SAlexey Dobriyan 12*9cd65655SAlexey Dobriyan fd = open("/proc/self/wchan", O_RDONLY); 13*9cd65655SAlexey Dobriyan if (fd == -1) { 14*9cd65655SAlexey Dobriyan if (errno == ENOENT) 15*9cd65655SAlexey Dobriyan return 2; 16*9cd65655SAlexey Dobriyan return 1; 17*9cd65655SAlexey Dobriyan } 18*9cd65655SAlexey Dobriyan 19*9cd65655SAlexey Dobriyan buf[0] = '\0'; 20*9cd65655SAlexey Dobriyan if (read(fd, buf, sizeof(buf)) != 1) 21*9cd65655SAlexey Dobriyan return 1; 22*9cd65655SAlexey Dobriyan if (buf[0] != '0') 23*9cd65655SAlexey Dobriyan return 1; 24*9cd65655SAlexey Dobriyan return 0; 25*9cd65655SAlexey Dobriyan } 26