nutcracker 0.2.4.mac9 → 0.2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. data/README.md +13 -46
  2. data/Rakefile +20 -15
  3. data/bin/nutcracker +1 -6
  4. data/ext/nutcracker/ChangeLog +0 -9
  5. data/ext/nutcracker/LICENSE +0 -0
  6. data/ext/nutcracker/Makefile.am +0 -0
  7. data/ext/nutcracker/Makefile.in +149 -66
  8. data/ext/nutcracker/NOTICE +0 -0
  9. data/ext/nutcracker/README.md +11 -13
  10. data/ext/nutcracker/aclocal.m4 +201 -112
  11. data/ext/nutcracker/conf/nutcracker.leaf.yml +0 -0
  12. data/ext/nutcracker/conf/nutcracker.root.yml +0 -0
  13. data/ext/nutcracker/conf/nutcracker.yml +0 -0
  14. data/ext/nutcracker/config.h.in +0 -15
  15. data/ext/nutcracker/config/config.guess +84 -23
  16. data/ext/nutcracker/config/config.sub +93 -23
  17. data/ext/nutcracker/config/depcomp +81 -35
  18. data/ext/nutcracker/config/install-sh +122 -109
  19. data/ext/nutcracker/config/ltmain.sh +721 -1053
  20. data/ext/nutcracker/config/missing +29 -20
  21. data/ext/nutcracker/configure +2311 -2113
  22. data/ext/nutcracker/configure.ac +3 -35
  23. data/ext/nutcracker/contrib/Makefile.am +0 -0
  24. data/ext/nutcracker/contrib/Makefile.in +107 -41
  25. data/ext/nutcracker/contrib/yaml-0.1.4.tar.gz +0 -0
  26. data/ext/nutcracker/extconf.rb +5 -3
  27. data/ext/nutcracker/m4/libtool.m4 +492 -553
  28. data/ext/nutcracker/m4/ltoptions.m4 +6 -7
  29. data/ext/nutcracker/m4/ltversion.m4 +5 -5
  30. data/ext/nutcracker/m4/lt~obsolete.m4 +3 -9
  31. data/ext/nutcracker/notes/c-styleguide.txt +0 -0
  32. data/ext/nutcracker/notes/debug.txt +0 -0
  33. data/ext/nutcracker/notes/memcache.txt +0 -0
  34. data/ext/nutcracker/notes/recommendation.md +2 -21
  35. data/ext/nutcracker/notes/redis.md +9 -9
  36. data/ext/nutcracker/notes/socket.txt +0 -0
  37. data/ext/nutcracker/scripts/nutcracker.init +0 -0
  38. data/ext/nutcracker/scripts/nutcracker.spec +0 -0
  39. data/ext/nutcracker/scripts/redis-check.py +0 -0
  40. data/ext/nutcracker/scripts/redis-check.sh +0 -9
  41. data/ext/nutcracker/src/Makefile.am +1 -1
  42. data/ext/nutcracker/src/Makefile.in +153 -74
  43. data/ext/nutcracker/src/hashkit/Makefile.am +0 -1
  44. data/ext/nutcracker/src/hashkit/Makefile.in +64 -39
  45. data/ext/nutcracker/src/hashkit/nc_crc32.c +0 -0
  46. data/ext/nutcracker/src/hashkit/nc_fnv.c +0 -0
  47. data/ext/nutcracker/src/hashkit/nc_hashkit.h +0 -2
  48. data/ext/nutcracker/src/hashkit/nc_hsieh.c +0 -0
  49. data/ext/nutcracker/src/hashkit/nc_jenkins.c +0 -0
  50. data/ext/nutcracker/src/hashkit/nc_ketama.c +0 -0
  51. data/ext/nutcracker/src/hashkit/nc_md5.c +0 -0
  52. data/ext/nutcracker/src/hashkit/nc_modula.c +6 -18
  53. data/ext/nutcracker/src/hashkit/nc_murmur.c +0 -0
  54. data/ext/nutcracker/src/hashkit/nc_one_at_a_time.c +0 -0
  55. data/ext/nutcracker/src/hashkit/nc_random.c +0 -0
  56. data/ext/nutcracker/src/nc.c +0 -0
  57. data/ext/nutcracker/src/nc_array.c +0 -0
  58. data/ext/nutcracker/src/nc_array.h +0 -0
  59. data/ext/nutcracker/src/nc_client.c +0 -0
  60. data/ext/nutcracker/src/nc_client.h +0 -0
  61. data/ext/nutcracker/src/nc_conf.c +35 -14
  62. data/ext/nutcracker/src/nc_conf.h +1 -1
  63. data/ext/nutcracker/src/nc_connection.c +0 -0
  64. data/ext/nutcracker/src/nc_connection.h +0 -0
  65. data/ext/nutcracker/src/nc_core.c +26 -29
  66. data/ext/nutcracker/src/nc_core.h +5 -13
  67. data/ext/nutcracker/src/{nc_epoll.c → nc_event.c} +30 -94
  68. data/ext/nutcracker/src/nc_event.h +13 -33
  69. data/ext/nutcracker/src/nc_log.c +0 -0
  70. data/ext/nutcracker/src/nc_log.h +0 -0
  71. data/ext/nutcracker/src/nc_mbuf.c +0 -0
  72. data/ext/nutcracker/src/nc_mbuf.h +0 -0
  73. data/ext/nutcracker/src/nc_message.c +0 -0
  74. data/ext/nutcracker/src/nc_message.h +0 -2
  75. data/ext/nutcracker/src/nc_proxy.c +8 -8
  76. data/ext/nutcracker/src/nc_proxy.h +0 -0
  77. data/ext/nutcracker/src/nc_queue.h +0 -0
  78. data/ext/nutcracker/src/nc_rbtree.c +0 -0
  79. data/ext/nutcracker/src/nc_rbtree.h +0 -0
  80. data/ext/nutcracker/src/nc_request.c +3 -3
  81. data/ext/nutcracker/src/nc_response.c +6 -4
  82. data/ext/nutcracker/src/nc_server.c +12 -14
  83. data/ext/nutcracker/src/nc_server.h +0 -0
  84. data/ext/nutcracker/src/nc_signal.c +0 -0
  85. data/ext/nutcracker/src/nc_signal.h +0 -0
  86. data/ext/nutcracker/src/nc_stats.c +21 -16
  87. data/ext/nutcracker/src/nc_stats.h +4 -3
  88. data/ext/nutcracker/src/nc_string.c +0 -0
  89. data/ext/nutcracker/src/nc_string.h +0 -0
  90. data/ext/nutcracker/src/nc_util.c +0 -16
  91. data/ext/nutcracker/src/nc_util.h +0 -1
  92. data/ext/nutcracker/src/proto/Makefile.am +0 -0
  93. data/ext/nutcracker/src/proto/Makefile.in +60 -32
  94. data/ext/nutcracker/src/proto/nc_memcache.c +0 -0
  95. data/ext/nutcracker/src/proto/nc_proto.h +0 -0
  96. data/ext/nutcracker/src/proto/nc_redis.c +4 -17
  97. data/lib/nutcracker.rb +2 -187
  98. data/lib/nutcracker/version.rb +1 -1
  99. metadata +10 -256
  100. data/ext/nutcracker/Makefile +0 -643
  101. data/ext/nutcracker/autom4te.cache/output.0 +0 -18664
  102. data/ext/nutcracker/autom4te.cache/output.1 +0 -18664
  103. data/ext/nutcracker/autom4te.cache/output.2 +0 -18664
  104. data/ext/nutcracker/autom4te.cache/requests +0 -494
  105. data/ext/nutcracker/autom4te.cache/traces.0 +0 -2415
  106. data/ext/nutcracker/autom4te.cache/traces.1 +0 -945
  107. data/ext/nutcracker/autom4te.cache/traces.2 +0 -2415
  108. data/ext/nutcracker/config.h +0 -332
  109. data/ext/nutcracker/config.log +0 -2684
  110. data/ext/nutcracker/config.status +0 -2317
  111. data/ext/nutcracker/contrib/Makefile +0 -494
  112. data/ext/nutcracker/contrib/yaml-0.1.4/Makefile +0 -736
  113. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.0 +0 -13102
  114. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.1 +0 -13085
  115. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.2 +0 -13085
  116. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/requests +0 -476
  117. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.0 +0 -2339
  118. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.1 +0 -545
  119. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.2 +0 -2339
  120. data/ext/nutcracker/contrib/yaml-0.1.4/config.h +0 -81
  121. data/ext/nutcracker/contrib/yaml-0.1.4/config.h.in~ +0 -80
  122. data/ext/nutcracker/contrib/yaml-0.1.4/config.log +0 -688
  123. data/ext/nutcracker/contrib/yaml-0.1.4/config.status +0 -2032
  124. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/annotated.html +0 -51
  125. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/bc_s.png +0 -0
  126. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/classes.html +0 -41
  127. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/closed.png +0 -0
  128. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/doxygen.css +0 -656
  129. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/doxygen.png +0 -0
  130. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/files.html +0 -40
  131. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions.html +0 -91
  132. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x62.html +0 -84
  133. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x63.html +0 -87
  134. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x64.html +0 -83
  135. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x65.html +0 -110
  136. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x66.html +0 -79
  137. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x68.html +0 -80
  138. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x69.html +0 -92
  139. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6b.html +0 -71
  140. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6c.html +0 -88
  141. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6d.html +0 -96
  142. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6e.html +0 -71
  143. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6f.html +0 -80
  144. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x70.html +0 -100
  145. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x71.html +0 -71
  146. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x72.html +0 -87
  147. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x73.html +0 -163
  148. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x74.html +0 -115
  149. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x75.html +0 -71
  150. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x76.html +0 -80
  151. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x77.html +0 -77
  152. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars.html +0 -91
  153. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x62.html +0 -84
  154. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x63.html +0 -87
  155. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x64.html +0 -83
  156. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x65.html +0 -110
  157. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x66.html +0 -79
  158. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x68.html +0 -80
  159. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x69.html +0 -92
  160. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6b.html +0 -71
  161. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6c.html +0 -88
  162. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6d.html +0 -96
  163. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6e.html +0 -71
  164. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6f.html +0 -80
  165. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x70.html +0 -100
  166. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x71.html +0 -71
  167. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x72.html +0 -87
  168. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x73.html +0 -163
  169. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x74.html +0 -115
  170. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x75.html +0 -71
  171. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x76.html +0 -80
  172. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x77.html +0 -77
  173. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals.html +0 -667
  174. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_defs.html +0 -81
  175. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_enum.html +0 -78
  176. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_eval.html +0 -373
  177. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_func.html +0 -196
  178. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_type.html +0 -126
  179. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__basic.html +0 -320
  180. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__emitter.html +0 -819
  181. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__events.html +0 -664
  182. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__export.html +0 -60
  183. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__nodes.html +0 -795
  184. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__parser.html +0 -606
  185. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__styles.html +0 -222
  186. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__tokens.html +0 -246
  187. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__version.html +0 -106
  188. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/index.html +0 -31
  189. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/modules.html +0 -42
  190. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/nav_f.png +0 -0
  191. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/nav_h.png +0 -0
  192. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/open.png +0 -0
  193. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__alias__data__s.html +0 -108
  194. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__document__s.html +0 -235
  195. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__emitter__s.html +0 -1300
  196. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__event__s.html +0 -496
  197. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__mark__s.html +0 -108
  198. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__node__pair__s.html +0 -91
  199. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__node__s.html +0 -420
  200. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__parser__s.html +0 -1229
  201. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__simple__key__s.html +0 -97
  202. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__tag__directive__s.html +0 -91
  203. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__token__s.html +0 -413
  204. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__version__directive__s.html +0 -91
  205. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_a.png +0 -0
  206. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_b.png +0 -0
  207. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_h.png +0 -0
  208. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_s.png +0 -0
  209. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tabs.css +0 -59
  210. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/yaml_8h.html +0 -525
  211. data/ext/nutcracker/contrib/yaml-0.1.4/include/Makefile.am +0 -17
  212. data/ext/nutcracker/contrib/yaml-0.1.4/include/Makefile.in +0 -470
  213. data/ext/nutcracker/contrib/yaml-0.1.4/libtool +0 -8890
  214. data/ext/nutcracker/contrib/yaml-0.1.4/src/Makefile +0 -484
  215. data/ext/nutcracker/contrib/yaml-0.1.4/src/api.lo +0 -12
  216. data/ext/nutcracker/contrib/yaml-0.1.4/src/api.o +0 -0
  217. data/ext/nutcracker/contrib/yaml-0.1.4/src/dumper.lo +0 -12
  218. data/ext/nutcracker/contrib/yaml-0.1.4/src/dumper.o +0 -0
  219. data/ext/nutcracker/contrib/yaml-0.1.4/src/emitter.lo +0 -12
  220. data/ext/nutcracker/contrib/yaml-0.1.4/src/emitter.o +0 -0
  221. data/ext/nutcracker/contrib/yaml-0.1.4/src/libyaml.la +0 -41
  222. data/ext/nutcracker/contrib/yaml-0.1.4/src/loader.lo +0 -12
  223. data/ext/nutcracker/contrib/yaml-0.1.4/src/loader.o +0 -0
  224. data/ext/nutcracker/contrib/yaml-0.1.4/src/parser.lo +0 -12
  225. data/ext/nutcracker/contrib/yaml-0.1.4/src/parser.o +0 -0
  226. data/ext/nutcracker/contrib/yaml-0.1.4/src/reader.lo +0 -12
  227. data/ext/nutcracker/contrib/yaml-0.1.4/src/reader.o +0 -0
  228. data/ext/nutcracker/contrib/yaml-0.1.4/src/scanner.lo +0 -12
  229. data/ext/nutcracker/contrib/yaml-0.1.4/src/scanner.o +0 -0
  230. data/ext/nutcracker/contrib/yaml-0.1.4/src/writer.lo +0 -12
  231. data/ext/nutcracker/contrib/yaml-0.1.4/src/writer.o +0 -0
  232. data/ext/nutcracker/contrib/yaml-0.1.4/stamp-h1 +0 -1
  233. data/ext/nutcracker/contrib/yaml-0.1.4/tests/Makefile +0 -675
  234. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor +0 -0
  235. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor-alt +0 -0
  236. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor-alt.o +0 -0
  237. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor.o +0 -0
  238. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter +0 -0
  239. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter-alt +0 -0
  240. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter-alt.o +0 -0
  241. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter.o +0 -0
  242. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-dumper +0 -0
  243. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-dumper.o +0 -0
  244. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-emitter +0 -0
  245. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-emitter.o +0 -0
  246. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-loader +0 -0
  247. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-loader.o +0 -0
  248. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-parser +0 -0
  249. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-parser.o +0 -0
  250. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-scanner +0 -0
  251. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-scanner.o +0 -0
  252. data/ext/nutcracker/contrib/yaml-0.1.4/yaml-0.1.pc +0 -10
  253. data/ext/nutcracker/contrib/yaml-0.1.4/yaml-0.1.pc.in +0 -10
  254. data/ext/nutcracker/libtool +0 -9403
  255. data/ext/nutcracker/src/Makefile +0 -647
  256. data/ext/nutcracker/src/hashkit/Makefile +0 -476
  257. data/ext/nutcracker/src/hashkit/libhashkit.a +0 -0
  258. data/ext/nutcracker/src/hashkit/nc_crc16.c +0 -66
  259. data/ext/nutcracker/src/hashkit/nc_crc16.o +0 -0
  260. data/ext/nutcracker/src/hashkit/nc_crc32.o +0 -0
  261. data/ext/nutcracker/src/hashkit/nc_fnv.o +0 -0
  262. data/ext/nutcracker/src/hashkit/nc_hsieh.o +0 -0
  263. data/ext/nutcracker/src/hashkit/nc_jenkins.o +0 -0
  264. data/ext/nutcracker/src/hashkit/nc_ketama.o +0 -0
  265. data/ext/nutcracker/src/hashkit/nc_md5.o +0 -0
  266. data/ext/nutcracker/src/hashkit/nc_modula.o +0 -0
  267. data/ext/nutcracker/src/hashkit/nc_murmur.o +0 -0
  268. data/ext/nutcracker/src/hashkit/nc_one_at_a_time.o +0 -0
  269. data/ext/nutcracker/src/hashkit/nc_random.o +0 -0
  270. data/ext/nutcracker/src/nc.o +0 -0
  271. data/ext/nutcracker/src/nc_array.o +0 -0
  272. data/ext/nutcracker/src/nc_client.o +0 -0
  273. data/ext/nutcracker/src/nc_conf.o +0 -0
  274. data/ext/nutcracker/src/nc_connection.o +0 -0
  275. data/ext/nutcracker/src/nc_core.o +0 -0
  276. data/ext/nutcracker/src/nc_epoll.o +0 -0
  277. data/ext/nutcracker/src/nc_kqueue.c +0 -296
  278. data/ext/nutcracker/src/nc_kqueue.o +0 -0
  279. data/ext/nutcracker/src/nc_log.o +0 -0
  280. data/ext/nutcracker/src/nc_mbuf.o +0 -0
  281. data/ext/nutcracker/src/nc_message.o +0 -0
  282. data/ext/nutcracker/src/nc_proxy.o +0 -0
  283. data/ext/nutcracker/src/nc_rbtree.o +0 -0
  284. data/ext/nutcracker/src/nc_request.o +0 -0
  285. data/ext/nutcracker/src/nc_response.o +0 -0
  286. data/ext/nutcracker/src/nc_server.o +0 -0
  287. data/ext/nutcracker/src/nc_signal.o +0 -0
  288. data/ext/nutcracker/src/nc_stats.o +0 -0
  289. data/ext/nutcracker/src/nc_string.o +0 -0
  290. data/ext/nutcracker/src/nc_util.o +0 -0
  291. data/ext/nutcracker/src/nutcracker +0 -0
  292. data/ext/nutcracker/src/proto/Makefile +0 -454
  293. data/ext/nutcracker/src/proto/libproto.a +0 -0
  294. data/ext/nutcracker/src/proto/nc_memcache.o +0 -0
  295. data/ext/nutcracker/src/proto/nc_redis.o +0 -0
  296. data/ext/nutcracker/stamp-h1 +0 -1
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -71,7 +71,6 @@ typedef enum msg_type {
71
71
  MSG_REQ_REDIS_BITCOUNT,
72
72
  MSG_REQ_REDIS_DECR,
73
73
  MSG_REQ_REDIS_DECRBY,
74
- MSG_REQ_REDIS_DUMP,
75
74
  MSG_REQ_REDIS_GET,
76
75
  MSG_REQ_REDIS_GETBIT,
77
76
  MSG_REQ_REDIS_GETRANGE,
@@ -81,7 +80,6 @@ typedef enum msg_type {
81
80
  MSG_REQ_REDIS_INCRBYFLOAT,
82
81
  MSG_REQ_REDIS_MGET,
83
82
  MSG_REQ_REDIS_PSETEX,
84
- MSG_REQ_REDIS_RESTORE,
85
83
  MSG_REQ_REDIS_SET,
86
84
  MSG_REQ_REDIS_SETBIT,
87
85
  MSG_REQ_REDIS_SETEX,
@@ -163,18 +163,18 @@ proxy_listen(struct context *ctx, struct conn *p)
163
163
  return NC_ERROR;
164
164
  }
165
165
 
166
- status = event_add_conn(ctx->evb, p);
166
+ status = event_add_conn(ctx->ep, p);
167
167
  if (status < 0) {
168
- log_error("event add conn p %d on addr '%.*s' failed: %s",
169
- p->sd, pool->addrstr.len, pool->addrstr.data,
168
+ log_error("event add conn e %d p %d on addr '%.*s' failed: %s",
169
+ ctx->ep, p->sd, pool->addrstr.len, pool->addrstr.data,
170
170
  strerror(errno));
171
171
  return NC_ERROR;
172
172
  }
173
173
 
174
- status = event_del_out(ctx->evb, p);
174
+ status = event_del_out(ctx->ep, p);
175
175
  if (status < 0) {
176
- log_error("event del out p %d on addr '%.*s' failed: %s",
177
- p->sd, pool->addrstr.len, pool->addrstr.data,
176
+ log_error("event del out e %d p %d on addr '%.*s' failed: %s",
177
+ ctx->ep, p->sd, pool->addrstr.len, pool->addrstr.data,
178
178
  strerror(errno));
179
179
  return NC_ERROR;
180
180
  }
@@ -325,9 +325,9 @@ proxy_accept(struct context *ctx, struct conn *p)
325
325
  }
326
326
  }
327
327
 
328
- status = event_add_conn(ctx->evb, c);
328
+ status = event_add_conn(ctx->ep, c);
329
329
  if (status < 0) {
330
- log_error("event add conn from p %d failed: %s", p->sd,
330
+ log_error("event add conn of c %d from p %d failed: %s", c->sd, p->sd,
331
331
  strerror(errno));
332
332
  c->close(ctx, c);
333
333
  return status;
File without changes
File without changes
File without changes
File without changes
@@ -413,7 +413,7 @@ req_forward_error(struct context *ctx, struct conn *conn, struct msg *msg)
413
413
  }
414
414
 
415
415
  if (req_done(conn, TAILQ_FIRST(&conn->omsg_q))) {
416
- status = event_add_out(ctx->evb, conn);
416
+ status = event_add_out(ctx->ep, conn);
417
417
  if (status != NC_OK) {
418
418
  conn->err = errno;
419
419
  }
@@ -482,7 +482,7 @@ req_forward(struct context *ctx, struct conn *c_conn, struct msg *msg)
482
482
 
483
483
  /* enqueue the message (request) into server inq */
484
484
  if (TAILQ_EMPTY(&s_conn->imsg_q)) {
485
- status = event_add_out(ctx->evb, s_conn);
485
+ status = event_add_out(ctx->ep, s_conn);
486
486
  if (status != NC_OK) {
487
487
  req_forward_error(ctx, c_conn, msg);
488
488
  s_conn->err = errno;
@@ -533,7 +533,7 @@ req_send_next(struct context *ctx, struct conn *conn)
533
533
  nmsg = TAILQ_FIRST(&conn->imsg_q);
534
534
  if (nmsg == NULL) {
535
535
  /* nothing to send as the server inq is empty */
536
- status = event_del_out(ctx->evb, conn);
536
+ status = event_del_out(ctx->ep, conn);
537
537
  if (status != NC_OK) {
538
538
  conn->err = errno;
539
539
  }
@@ -157,9 +157,11 @@ rsp_filter(struct context *ctx, struct conn *conn, struct msg *msg)
157
157
 
158
158
  pmsg = TAILQ_FIRST(&conn->omsg_q);
159
159
  if (pmsg == NULL) {
160
- log_debug(LOG_ERR, "filter stray rsp %"PRIu64" len %"PRIu32" on s %d",
161
- msg->id, msg->mlen, conn->sd);
160
+ log_error("filter stray rsp %"PRIu64" len %"PRIu32" on s %d", msg->id,
161
+ msg->mlen, conn->sd);
162
162
  rsp_put(msg);
163
+ errno = EINVAL;
164
+ conn->err = errno;
163
165
  return true;
164
166
  }
165
167
  ASSERT(pmsg->peer == NULL);
@@ -220,7 +222,7 @@ rsp_forward(struct context *ctx, struct conn *s_conn, struct msg *msg)
220
222
  ASSERT(c_conn->client && !c_conn->proxy);
221
223
 
222
224
  if (req_done(c_conn, TAILQ_FIRST(&c_conn->omsg_q))) {
223
- status = event_add_out(ctx->evb, c_conn);
225
+ status = event_add_out(ctx->ep, c_conn);
224
226
  if (status != NC_OK) {
225
227
  c_conn->err = errno;
226
228
  }
@@ -265,7 +267,7 @@ rsp_send_next(struct context *ctx, struct conn *conn)
265
267
  log_debug(LOG_INFO, "c %d is done", conn->sd);
266
268
  }
267
269
 
268
- status = event_del_out(ctx->evb, conn);
270
+ status = event_del_out(ctx->ep, conn);
269
271
  if (status != NC_OK) {
270
272
  conn->err = errno;
271
273
  }
@@ -367,7 +367,7 @@ server_close(struct context *ctx, struct conn *conn)
367
367
  msg->err = conn->err;
368
368
 
369
369
  if (req_done(c_conn, TAILQ_FIRST(&c_conn->omsg_q))) {
370
- event_add_out(ctx->evb, msg->owner);
370
+ event_add_out(ctx->ep, msg->owner);
371
371
  }
372
372
 
373
373
  log_debug(LOG_INFO, "close s %d schedule error for req %"PRIu64" "
@@ -397,7 +397,7 @@ server_close(struct context *ctx, struct conn *conn)
397
397
  msg->err = conn->err;
398
398
 
399
399
  if (req_done(c_conn, TAILQ_FIRST(&c_conn->omsg_q))) {
400
- event_add_out(ctx->evb, msg->owner);
400
+ event_add_out(ctx->ep, msg->owner);
401
401
  }
402
402
 
403
403
  log_debug(LOG_INFO, "close s %d schedule error for req %"PRIu64" "
@@ -451,7 +451,7 @@ server_connect(struct context *ctx, struct server *server, struct conn *conn)
451
451
  log_debug(LOG_VVERB, "connect to server '%.*s'", server->pname.len,
452
452
  server->pname.data);
453
453
 
454
- conn->sd = socket(conn->family, SOCK_STREAM, 0);
454
+ conn->sd = socket(conn->family, SOCK_STREAM, 0);
455
455
  if (conn->sd < 0) {
456
456
  log_error("socket for server '%.*s' failed: %s", server->pname.len,
457
457
  server->pname.data, strerror(errno));
@@ -467,26 +467,24 @@ server_connect(struct context *ctx, struct server *server, struct conn *conn)
467
467
  goto error;
468
468
  }
469
469
 
470
- if (server->pname.data[0] != '/') {
471
- status = nc_set_tcpnodelay(conn->sd);
472
- if (status != NC_OK) {
473
- log_warn("set tcpnodelay on s %d for server '%.*s' failed, ignored: %s",
474
- conn->sd, server->pname.len, server->pname.data,
475
- strerror(errno));
476
- }
470
+ status = nc_set_tcpnodelay(conn->sd);
471
+ if (status != NC_OK) {
472
+ log_warn("set tcpnodelay on s %d for server '%.*s' failed, ignored: %s",
473
+ conn->sd, server->pname.len, server->pname.data,
474
+ strerror(errno));
477
475
  }
478
476
 
479
- status = event_add_conn(ctx->evb, conn);
477
+ status = event_add_conn(ctx->ep, conn);
480
478
  if (status != NC_OK) {
481
- log_error("event add conn s %d for server '%.*s' failed: %s",
482
- conn->sd, server->pname.len, server->pname.data,
479
+ log_error("event add conn e %d s %d for server '%.*s' failed: %s",
480
+ ctx->ep, conn->sd, server->pname.len, server->pname.data,
483
481
  strerror(errno));
484
482
  goto error;
485
483
  }
486
484
 
487
485
  ASSERT(!conn->connecting && !conn->connected);
488
486
 
489
- status = connect(conn->sd, conn->addr, conn->addrlen);
487
+ status = connect(conn->sd, conn->addr, conn->addrlen);
490
488
  if (status != NC_OK) {
491
489
  if (errno == EINPROGRESS) {
492
490
  conn->connecting = 1;
File without changes
File without changes
File without changes
@@ -21,11 +21,11 @@
21
21
 
22
22
  #include <sys/types.h>
23
23
  #include <sys/socket.h>
24
+ #include <sys/epoll.h>
24
25
  #include <netinet/in.h>
25
26
 
26
27
  #include <nc_core.h>
27
28
  #include <nc_server.h>
28
- #include <nc_event.h>
29
29
 
30
30
  struct stats_desc {
31
31
  char *name; /* stats name */
@@ -777,7 +777,15 @@ stats_loop(void *arg)
777
777
  int n;
778
778
 
779
779
  for (;;) {
780
- n = event_wait(st->st_evb, st->interval);
780
+ n = epoll_wait(st->ep, &st->event, 1, st->interval);
781
+ if (n < 0) {
782
+ if (errno == EINTR) {
783
+ continue;
784
+ }
785
+ log_error("epoll wait on e %d with event m %d failed: %s",
786
+ st->ep, st->sd, strerror(errno));
787
+ break;
788
+ }
781
789
 
782
790
  /* aggregate stats from shadow (b) -> sum (c) */
783
791
  stats_aggregate(st);
@@ -839,6 +847,7 @@ static rstatus_t
839
847
  stats_start_aggregator(struct stats *st)
840
848
  {
841
849
  rstatus_t status;
850
+ struct epoll_event ev;
842
851
 
843
852
  if (!stats_enabled) {
844
853
  return NC_OK;
@@ -849,28 +858,25 @@ stats_start_aggregator(struct stats *st)
849
858
  return status;
850
859
  }
851
860
 
852
- st->st_evb = evbase_create(1, NULL);
853
- if (st->st_evb == NULL) {
854
- log_error("stats aggregator create failed: %s", strerror(errno));
861
+ st->ep = epoll_create(10);
862
+ if (st->ep < 0) {
863
+ log_error("epoll create failed: %s", strerror(errno));
855
864
  return NC_ERROR;
856
865
  }
857
866
 
858
- ASSERT(st->st_evb != NULL);
859
- ASSERT(st->sd >= 0);
867
+ ev.data.fd = st->sd;
868
+ ev.events = EPOLLIN;
860
869
 
861
- status = event_add_st(st->st_evb, st->sd);
870
+ status = epoll_ctl(st->ep, EPOLL_CTL_ADD, st->sd, &ev);
862
871
  if (status < 0) {
863
- log_error("stats aggregator create failed: %s", strerror(errno));
864
- evbase_destroy(st->st_evb);
865
- st->st_evb = NULL;
872
+ log_error("epoll ctl on e %d sd %d failed: %s", st->ep, st->sd,
873
+ strerror(errno));
866
874
  return NC_ERROR;
867
875
  }
868
876
 
869
877
  status = pthread_create(&st->tid, NULL, stats_loop, st);
870
878
  if (status < 0) {
871
879
  log_error("stats aggregator create failed: %s", strerror(status));
872
- evbase_destroy(st->st_evb);
873
- st->st_evb = NULL;
874
880
  return NC_ERROR;
875
881
  }
876
882
 
@@ -885,8 +891,7 @@ stats_stop_aggregator(struct stats *st)
885
891
  }
886
892
 
887
893
  close(st->sd);
888
- evbase_destroy(st->st_evb);
889
- st->st_evb = NULL;
894
+ close(st->ep);
890
895
  }
891
896
 
892
897
  struct stats *
@@ -916,7 +921,7 @@ stats_create(uint16_t stats_port, char *stats_ip, int stats_interval,
916
921
  array_null(&st->sum);
917
922
 
918
923
  st->tid = (pthread_t) -1;
919
- st->st_evb = NULL;
924
+ st->ep = -1;
920
925
  st->sd = -1;
921
926
 
922
927
  string_set_text(&st->service_str, "service");
@@ -18,8 +18,9 @@
18
18
  #ifndef _NC_STATS_H_
19
19
  #define _NC_STATS_H_
20
20
 
21
+ #include <sys/epoll.h>
22
+
21
23
  #include <nc_core.h>
22
- #include <nc_event.h>
23
24
 
24
25
  #define STATS_POOL_CODEC(ACTION) \
25
26
  /* client behavior */ \
@@ -100,8 +101,8 @@ struct stats {
100
101
 
101
102
  pthread_t tid; /* stats aggregator thread */
102
103
  int sd; /* stats descriptor */
103
-
104
- struct evbase *st_evb;
104
+ int ep; /* epoll device */
105
+ struct epoll_event event; /* epoll event */
105
106
 
106
107
  struct string service_str; /* service string */
107
108
  struct string service; /* service */
File without changes
File without changes
@@ -22,10 +22,7 @@
22
22
  #include <unistd.h>
23
23
  #include <fcntl.h>
24
24
  #include <netdb.h>
25
-
26
- #ifdef NC_HAVE_BACKTRACE
27
25
  #include <execinfo.h>
28
- #endif
29
26
 
30
27
  #include <sys/time.h>
31
28
  #include <sys/types.h>
@@ -278,7 +275,6 @@ _nc_free(void *ptr, const char *name, int line)
278
275
  void
279
276
  nc_stacktrace(int skip_count)
280
277
  {
281
- #ifdef NC_HAVE_BACKTRACE
282
278
  void *stack[64];
283
279
  char **symbols;
284
280
  int size, i, j;
@@ -296,7 +292,6 @@ nc_stacktrace(int skip_count)
296
292
  }
297
293
 
298
294
  free(symbols);
299
- #endif
300
295
  }
301
296
 
302
297
  void
@@ -622,14 +617,3 @@ nc_unresolve_desc(int sd)
622
617
 
623
618
  return nc_unresolve_addr(addr, addrlen);
624
619
  }
625
-
626
- struct timespec
627
- nc_millisec_to_timespec (int n_millisec)
628
- {
629
- struct timeval tv = {n_millisec/1000LL, (n_millisec%1000LL)*1000LL};
630
- struct timespec ts;
631
-
632
- TIMEVAL_TO_TIMESPEC(&tv, &ts);
633
-
634
- return ts;
635
- }
@@ -190,7 +190,6 @@ int _scnprintf(char *buf, size_t size, const char *fmt, ...);
190
190
  int _vscnprintf(char *buf, size_t size, const char *fmt, va_list args);
191
191
  int64_t nc_usec_now(void);
192
192
  int64_t nc_msec_now(void);
193
- struct timespec nc_millisec_to_timespec(int millisec);
194
193
 
195
194
  /*
196
195
  * Address resolution for internet (ipv4 and ipv6) and unix domain
File without changes
@@ -1,8 +1,9 @@
1
- # Makefile.in generated by automake 1.10 from Makefile.am.
1
+ # Makefile.in generated by automake 1.11 from Makefile.am.
2
2
  # @configure_input@
3
3
 
4
4
  # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
5
- # 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
5
+ # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
6
+ # Inc.
6
7
  # This Makefile.in is free software; the Free Software Foundation
7
8
  # gives unlimited permission to copy and/or distribute it,
8
9
  # with or without modifications, as long as this notice is preserved.
@@ -17,8 +18,9 @@
17
18
 
18
19
  VPATH = @srcdir@
19
20
  pkgdatadir = $(datadir)/@PACKAGE@
20
- pkglibdir = $(libdir)/@PACKAGE@
21
21
  pkgincludedir = $(includedir)/@PACKAGE@
22
+ pkglibdir = $(libdir)/@PACKAGE@
23
+ pkglibexecdir = $(libexecdir)/@PACKAGE@
22
24
  am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
23
25
  install_sh_DATA = $(install_sh) -c -m 644
24
26
  install_sh_PROGRAM = $(install_sh) -c
@@ -46,15 +48,17 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
46
48
  mkinstalldirs = $(install_sh) -d
47
49
  CONFIG_HEADER = $(top_builddir)/config.h
48
50
  CONFIG_CLEAN_FILES =
51
+ CONFIG_CLEAN_VPATH_FILES =
49
52
  LIBRARIES = $(noinst_LIBRARIES)
50
53
  ARFLAGS = cru
51
54
  libproto_a_AR = $(AR) $(ARFLAGS)
52
55
  libproto_a_LIBADD =
53
56
  am_libproto_a_OBJECTS = nc_memcache.$(OBJEXT) nc_redis.$(OBJEXT)
54
57
  libproto_a_OBJECTS = $(am_libproto_a_OBJECTS)
55
- DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
58
+ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
56
59
  depcomp = $(SHELL) $(top_srcdir)/config/depcomp
57
60
  am__depfiles_maybe = depfiles
61
+ am__mv = mv -f
58
62
  COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
59
63
  $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
60
64
  LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
@@ -170,6 +174,7 @@ libdir = @libdir@
170
174
  libexecdir = @libexecdir@
171
175
  localedir = @localedir@
172
176
  localstatedir = @localstatedir@
177
+ lt_ECHO = @lt_ECHO@
173
178
  mandir = @mandir@
174
179
  mkdir_p = @mkdir_p@
175
180
  oldincludedir = @oldincludedir@
@@ -203,14 +208,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
203
208
  @for dep in $?; do \
204
209
  case '$(am__configure_deps)' in \
205
210
  *$$dep*) \
206
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
207
- && exit 0; \
211
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
212
+ && { if test -f $@; then exit 0; else break; fi; }; \
208
213
  exit 1;; \
209
214
  esac; \
210
215
  done; \
211
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/proto/Makefile'; \
212
- cd $(top_srcdir) && \
213
- $(AUTOMAKE) --foreign src/proto/Makefile
216
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/proto/Makefile'; \
217
+ $(am__cd) $(top_srcdir) && \
218
+ $(AUTOMAKE) --foreign src/proto/Makefile
214
219
  .PRECIOUS: Makefile
215
220
  Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
216
221
  @case '$?' in \
@@ -228,6 +233,7 @@ $(top_srcdir)/configure: $(am__configure_deps)
228
233
  cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
229
234
  $(ACLOCAL_M4): $(am__aclocal_m4_deps)
230
235
  cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
236
+ $(am__aclocal_m4_deps):
231
237
 
232
238
  clean-noinstLIBRARIES:
233
239
  -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
@@ -247,21 +253,21 @@ distclean-compile:
247
253
 
248
254
  .c.o:
249
255
  @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
250
- @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
256
+ @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
251
257
  @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
252
258
  @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
253
259
  @am__fastdepCC_FALSE@ $(COMPILE) -c $<
254
260
 
255
261
  .c.obj:
256
262
  @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
257
- @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
263
+ @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
258
264
  @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
259
265
  @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
260
266
  @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
261
267
 
262
268
  .c.lo:
263
269
  @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
264
- @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
270
+ @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
265
271
  @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
266
272
  @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
267
273
  @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
@@ -277,45 +283,49 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
277
283
  unique=`for i in $$list; do \
278
284
  if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
279
285
  done | \
280
- $(AWK) ' { files[$$0] = 1; } \
281
- END { for (i in files) print i; }'`; \
286
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
287
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
282
288
  mkid -fID $$unique
283
289
  tags: TAGS
284
290
 
285
291
  TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
286
292
  $(TAGS_FILES) $(LISP)
287
- tags=; \
293
+ set x; \
288
294
  here=`pwd`; \
289
295
  list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
290
296
  unique=`for i in $$list; do \
291
297
  if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
292
298
  done | \
293
- $(AWK) ' { files[$$0] = 1; } \
294
- END { for (i in files) print i; }'`; \
295
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
299
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
300
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
301
+ shift; \
302
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
296
303
  test -n "$$unique" || unique=$$empty_fix; \
297
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
298
- $$tags $$unique; \
304
+ if test $$# -gt 0; then \
305
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
306
+ "$$@" $$unique; \
307
+ else \
308
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
309
+ $$unique; \
310
+ fi; \
299
311
  fi
300
312
  ctags: CTAGS
301
313
  CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
302
314
  $(TAGS_FILES) $(LISP)
303
- tags=; \
304
- here=`pwd`; \
305
315
  list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
306
316
  unique=`for i in $$list; do \
307
317
  if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
308
318
  done | \
309
- $(AWK) ' { files[$$0] = 1; } \
310
- END { for (i in files) print i; }'`; \
311
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
319
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
320
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
321
+ test -z "$(CTAGS_ARGS)$$unique" \
312
322
  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
313
- $$tags $$unique
323
+ $$unique
314
324
 
315
325
  GTAGS:
316
326
  here=`$(am__cd) $(top_builddir) && pwd` \
317
- && cd $(top_srcdir) \
318
- && gtags -i $(GTAGS_ARGS) $$here
327
+ && $(am__cd) $(top_srcdir) \
328
+ && gtags -i $(GTAGS_ARGS) "$$here"
319
329
 
320
330
  distclean-tags:
321
331
  -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -336,13 +346,17 @@ distdir: $(DISTFILES)
336
346
  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
337
347
  if test -d $$d/$$file; then \
338
348
  dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
349
+ if test -d "$(distdir)/$$file"; then \
350
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
351
+ fi; \
339
352
  if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
340
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
353
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
354
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
341
355
  fi; \
342
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
356
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
343
357
  else \
344
- test -f $(distdir)/$$file \
345
- || cp -p $$d/$$file $(distdir)/$$file \
358
+ test -f "$(distdir)/$$file" \
359
+ || cp -p $$d/$$file "$(distdir)/$$file" \
346
360
  || exit 1; \
347
361
  fi; \
348
362
  done
@@ -370,6 +384,7 @@ clean-generic:
370
384
 
371
385
  distclean-generic:
372
386
  -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
387
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
373
388
 
374
389
  maintainer-clean-generic:
375
390
  @echo "This command is intended for maintainers to use"
@@ -392,6 +407,8 @@ dvi-am:
392
407
 
393
408
  html: html-am
394
409
 
410
+ html-am:
411
+
395
412
  info: info-am
396
413
 
397
414
  info-am:
@@ -400,18 +417,28 @@ install-data-am:
400
417
 
401
418
  install-dvi: install-dvi-am
402
419
 
420
+ install-dvi-am:
421
+
403
422
  install-exec-am:
404
423
 
405
424
  install-html: install-html-am
406
425
 
426
+ install-html-am:
427
+
407
428
  install-info: install-info-am
408
429
 
430
+ install-info-am:
431
+
409
432
  install-man:
410
433
 
411
434
  install-pdf: install-pdf-am
412
435
 
436
+ install-pdf-am:
437
+
413
438
  install-ps: install-ps-am
414
439
 
440
+ install-ps-am:
441
+
415
442
  installcheck-am:
416
443
 
417
444
  maintainer-clean: maintainer-clean-am
@@ -449,6 +476,7 @@ uninstall-am:
449
476
  mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
450
477
  pdf pdf-am ps ps-am tags uninstall uninstall-am
451
478
 
479
+
452
480
  # Tell versions [3.59,3.63) of GNU make to not export all variables.
453
481
  # Otherwise a system limit (for SysV at least) may be exceeded.
454
482
  .NOEXPORT: