LinuxThreads had a number of problems, mainly owing to the implementation, which used the clone system call to create a new process sharing the parent's address space. For example, threads had distinct process identifiers, causing problems for signal handling; LinuxThreads used the signals SIGUSR1 and SIGUSR2 for inter-thread coordination, meaning these signals could not be used by programs.
To improve the situation, two competing projects were started to develop a replacement; NGPT (Next Generation POSIX Threads) and NPTL. NPTL won out and is today shipped with the vast majority of Linux systems. As of 2006[update], LinuxThreads may still be seen on production systems, particularly those using version 2.4 or lower of the Linux kernel, as NPTL requires facilities which were specifically added into the 2.6 version of the kernel for its use.
^Jones, M. Tim (2008). GNU/Linux application programming (2nd ed.). Hingham, Mass.: Charles River Media. p. 253. ISBN978-1-58450-568-6. "The 2.6 kernel utilizes the new Native POSIX Thread Library, or NPTL (introduced in 2002), which is a higher performance implementation with numerous advantages over the older component."