/* Linuxthreads - a simple clone()-based implementation of Posix *//* threads for Linux. *//* Copyright (C) 1996 Xavier Leroy (Xavier.Leroy@inria.fr) *//* *//* This program is free software; you can redistribute it and/or *//* modify it under the terms of the GNU Library General Public License *//* as published by the Free Software Foundation; either version 2 *//* of the License, or (at your option) any later version. *//* *//* This program is distributed in the hope that it will be useful, *//* but WITHOUT ANY WARRANTY; without even the implied warranty of *//* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *//* GNU Library General Public License for more details. *//* Thread creation, initialization, and basic low-level routines */#include<errno.h>#include<stddef.h>#include<stdio.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<fcntl.h>#include<sys/wait.h>#include<sys/resource.h>#include<shlib-compat.h>#include"pthread.h"#include"internals.h"#include"spinlock.h"#include"restart.h"/* Sanity check. */#if __ASSUME_REALTIME_SIGNALS && !defined __SIGRTMIN# error "This must not happen; new kernel assumed but old headers"#endif/* Descriptor of the initial thread */struct_pthread_descr_struct__pthread_initial_thread={{{