The _exit syscall is used for both thread termination in NPTL applications,
and process termination in legacy applications.  Try to guess which we want
based on the presence of multiple threads.

Also implement locking when modifying the CPU list.


Signed-off-by: Paul Brook <paul@codesourcery.com>


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6735 c046a42c-6fe2-441c-8c8c-71466251a162
15 files changed
tree: 9e08316ce7fc53cc2a2602a377e821333a7d6170
  1. audio/
  2. bsd-user/
  3. darwin-user/
  4. fpu/
  5. gdb-xml/
  6. hw/
  7. keymaps/
  8. linux-user/
  9. pc-bios/
  10. slirp/
  11. target-alpha/
  12. target-arm/
  13. target-cris/
  14. target-i386/
  15. target-m68k/
  16. target-mips/
  17. target-ppc/
  18. target-sh4/
  19. target-sparc/
  20. tcg/
  21. tests/
  22. .gitignore
  23. a.out.h
  24. acl.c
  25. acl.h
  26. aes.c
  27. aes.h
  28. aio.c
  29. alpha-dis.c
  30. alpha.ld
  31. arm-dis.c
  32. arm-semi.c
  33. arm.ld
  34. balloon.h
  35. block-bochs.c
  36. block-cloop.c
  37. block-cow.c
  38. block-dmg.c
  39. block-nbd.c
  40. block-parallels.c
  41. block-qcow.c
  42. block-qcow2.c
  43. block-raw-posix.c
  44. block-raw-win32.c
  45. block-vmdk.c
  46. block-vpc.c
  47. block-vvfat.c
  48. block.c
  49. block.h
  50. block_int.h
  51. bswap.h
  52. bt-host.c
  53. bt-vhci.c
  54. buffered_file.c
  55. buffered_file.h
  56. cache-utils.c
  57. cache-utils.h
  58. Changelog
  59. cocoa.m
  60. configure
  61. console.c
  62. console.h
  63. COPYING
  64. COPYING.LIB
  65. cpu-all.h
  66. cpu-defs.h
  67. cpu-exec.c
  68. cris-dis.c
  69. curses.c
  70. curses_keys.h
  71. cutils.c
  72. d3des.c
  73. d3des.h
  74. def-helper.h
  75. device_tree.c
  76. device_tree.h
  77. dis-asm.h
  78. disas.c
  79. disas.h
  80. dma-helpers.c
  81. dma.h
  82. dyngen-exec.h
  83. elf.h
  84. elf_ops.h
  85. exec-all.h
  86. exec.c
  87. feature_to_c.sh
  88. gdbstub.c
  89. gdbstub.h
  90. gen-icount.h
  91. host-utils.c
  92. host-utils.h
  93. hostregs_helper.h
  94. hpet.h
  95. hppa-dis.c
  96. hppa.ld
  97. i386-dis.c
  98. i386.ld
  99. ia64.ld
  100. keymaps.c
  101. keymaps.h
  102. kqemu.c
  103. kqemu.h
  104. kvm-all.c
  105. kvm.h
  106. libfdt_env.h
  107. LICENSE
  108. loader.c
  109. m68k-dis.c
  110. m68k-semi.c
  111. m68k.ld
  112. MAINTAINERS
  113. Makefile
  114. Makefile.target
  115. migration-exec.c
  116. migration-tcp.c
  117. migration.c
  118. migration.h
  119. mips-dis.c
  120. mips.ld
  121. mipsel.ld
  122. monitor.c
  123. monitor.h
  124. nbd.c
  125. nbd.h
  126. net-checksum.c
  127. net.c
  128. net.h
  129. osdep.c
  130. osdep.h
  131. pci-ids.txt
  132. posix-aio-compat.c
  133. posix-aio-compat.h
  134. ppc-dis.c
  135. ppc.ld
  136. ppc64.ld
  137. qemu-aio.h
  138. qemu-binfmt-conf.sh
  139. qemu-char.c
  140. qemu-char.h
  141. qemu-common.h
  142. qemu-doc.texi
  143. qemu-img.c
  144. qemu-img.texi
  145. qemu-lock.h
  146. qemu-log.h
  147. qemu-malloc.c
  148. qemu-nbd.c
  149. qemu-nbd.texi
  150. qemu-sockets.c
  151. qemu-tech.texi
  152. qemu-timer.h
  153. qemu-tool.c
  154. qemu.sasl
  155. qemu_socket.h
  156. readline.c
  157. readline.h
  158. README
  159. rules.mak
  160. s390-dis.c
  161. s390.ld
  162. savevm.c
  163. sdl.c
  164. sdl_keysym.h
  165. sh4-dis.c
  166. softmmu-semi.h
  167. softmmu_defs.h
  168. softmmu_exec.h
  169. softmmu_header.h
  170. softmmu_template.h
  171. sparc-dis.c
  172. sparc.ld
  173. sparc64.ld
  174. sys-queue.h
  175. sysemu.h
  176. tap-win32.c
  177. texi2pod.pl
  178. thunk.c
  179. thunk.h
  180. TODO
  181. translate-all.c
  182. uboot_image.h
  183. usb-bsd.c
  184. usb-linux.c
  185. usb-stub.c
  186. VERSION
  187. vgafont.h
  188. vl.c
  189. vnc-auth-sasl.c
  190. vnc-auth-sasl.h
  191. vnc-auth-vencrypt.c
  192. vnc-auth-vencrypt.h
  193. vnc-tls.c
  194. vnc-tls.h
  195. vnc.c
  196. vnc.h
  197. vnc_keysym.h
  198. vnchextile.h
  199. x86_64.ld
  200. x_keymap.c
  201. x_keymap.h