Commit graph

24190 commits

Author SHA1 Message Date
naruse
4870feb31a * lib/benchmark.rb: merge eregon/benchmark.
https://github.com/eregon/ruby/tree/benchmark
  patched by Benoit Daloze. [ruby-core:37593] [Bug #4940]

* lib/benchmark (Benchmark#bmbm): bmbm should be consistent with bm
  for the return value.

* test/benchmark: remove preemptive test instead of skipping
  I removed the preemptive test I wrote for Feature #4197.
  I'll add it back when the implementation will be able to satisfy it.

* lib/benchmark (Benchmark#bmbm): remove useless explicit call,
  #format is an alias of #to_s test/benchmark: add a test for
  format of long time.

* lib/benchmark: fix label width: always add 1 to ensure there is a
  space delimiter even with times over 100s
  When I asked for Feature #4197, I wanted to make delimiting spaces
  consistent for #bm and #bmbm.
  But with times over 100s, the output contains no space between the
  label and the first time (user).
  Now both ensure there is always a space, even if that means 3 spaces
  with times under 10s (because it is formatted as %10.6f)

* test/benchmark: let labels be a constant
  lib/benchmark (Benchmark#realtime): avoid creating an unused Proc
  lib/benchmark (Benchmark#benchmark): use ensure clause to restore
  STDOUT.sync, as in #bmbm

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-28 06:09:46 +00:00
usa
565336acca * thread_win32.c (native_stop_timer_thread): fixed commit miss of
r32244.  grep sources before changing the signature of a function.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-28 04:45:05 +00:00
ko1
9ca26b50d7 add a detail comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-28 02:57:02 +00:00
ko1
014a5f3178 * thread_pthread.c (consume_communication_pipe):
Make "buff" as static.  (Maybe) "buff" can be shared between
  any caller (any threads) because no one use the read values.
  And remove const value "buff_size", and define CCP_READ_BUFF_SIZE
  macro.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32266 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-28 02:53:15 +00:00
drbrain
2619f216fe * lib/rake: Update rake to fix some bugs and hide deprecated features
from RDoc.
	* lib/rake/version.rb:  Bump version to 0.9.2.1 to distinguish it from
	  the released version.
	* NEWS:  ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-28 02:45:29 +00:00
drbrain
84ece95163 * lib/rdoc: Update to RDoc 3.7 (final)
* NEWS:  ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-28 02:28:25 +00:00
naruse
41ab31e67a * process.c (rb_daemon): fix wrong #endif position.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-28 01:20:23 +00:00
marcandre
1f2478a7e6 * dir.c: Make RDoc more precise about order of Dir.glob
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-27 23:38:31 +00:00
drbrain
0de3c24ea2 * object.c (Init_Object): Teach RDoc what Init_class_hierarchy does to
hook up ri for BasicObject, Object, Module and Class.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-27 22:51:42 +00:00
nahi
4a42dda482 * thread.c (rb_thread_local_aref): RDoc fix. Thread#[] example
had a race. See #4480.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-27 20:09:59 +00:00
naruse
801bac0977 Temporary hack for SIGILL of miniruby on FreeBSD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-27 18:36:55 +00:00
mrkn
bb6384761e * ext/bigdecimal/bigdecimal.c (BigMath_s_log): move BigMath.log from
bigdecimal/math.rb.
* ext/bigdecimal/lib/bigdecimal/math.rb: ditto.
* test/bigdecimal/test_bigdecimal.rb: move test for BigMath.log from
  test/bigdecimal/test_bigmath.rb.
* test/bigdecimal/test_bigmath.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32258 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-27 16:26:09 +00:00
keiju
576b44165a * lib/irb/ruby-lex.rb: fix [Bug #4232].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32257 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-27 16:20:56 +00:00
marcandre
bad9f40714 * NEWS: rand and Random.rand now support range argument [ruby-dev:43427] #4605
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-27 15:42:50 +00:00
marcandre
3f5e567a47 * random.c: Documentation fix for Random#bytes
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-27 15:42:37 +00:00
seki
190bc7ae0e fix [Bug #4409]. add DRbServer#here?
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-27 15:18:22 +00:00
svn
eda3f1be20 * 2011-06-28
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-27 15:10:32 +00:00
keiju
f3eed6a7d5 * lib/irb/workspace.rb: fix BUG#4793.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-27 15:10:28 +00:00
kosaki
3639736d5d * thread_pthread.c (consume_communication_pipe): don't use C99
style variable length array.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-27 13:10:26 +00:00
kosaki
f8cc779680 * thread_pthread.c (consume_communication_pipe): change return
type to void. caller doesn't use it.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-27 13:05:22 +00:00
kosaki
d647b5358e * thread_pthread.h (rb_global_vm_lock_struct): add volatile to
gvl->waiting. now thread_timer() access it w/o lock.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-27 12:59:08 +00:00
kosaki
ea3da57e12 * thread_pthread.c: s/__gvl_acquire/gvl_acquire_common/ and
s/__gvl_release/gvl_release_common/.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-27 12:18:00 +00:00
naruse
c32869dfeb Addtitional fix for previous commit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-27 02:45:30 +00:00
naruse
657e9e2879 * thread_pthread.c (rb_thread_create_timer_thread):
the type of retrun value of write(2) is ssize_t.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-27 02:43:03 +00:00
ko1
f18cf4f023 * thread_pthread.c (rb_thread_create_timer_thread):
Fixes missing initialization of oflags.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-27 00:59:07 +00:00
ko1
d1d5d5e798 * thread_pthread.c: Stop polling in the timer thread when there are
no waiting thread.  If there are 2 or more runnable threads,
  the timer thread does polling.  Avoid polling makes power save
  for several computers (0.2W per a Ruby process, when I measured).
  If outside-event such as signal or Thread#kill was occuerred
  when the timer thread does not do polling, then wake-up
  the timer thread using communication-pipe (the timer thread
  waits this communication-pipe with select(2)).
  The discussion about this modification can be found from the post
  [ruby-core:33456] and other related posts.
  Note that Eric Wong and KOSAKI Motohiro give us the huge
  contributions for this modification.  Thanks.
* thread_pthread.c (rb_thread_wakeup_timer_thread): add a function.
  This function wakes up the timer thread using communication-pipe.
* thread.c (rb_thread_stop_timer_thread): add a parameter which
  specify closing communication-pipe or not.
* thread.c (rb_thread_terminate_all): do not stop timer thread here
  (ruby_cleanup() terminate timer thread).
* signal.c: wake up timer thread using
  rb_thread_wakeup_timer_thread() from signal handler.
* eval.c (ruby_cleanup): use rb_thread_stop_timer_thread(1).
* process.c: use rb_thread_stop_timer_thread(0)
  (reuse communication-pipe).
* thread_win32.c (rb_thread_wakeup_timer_thread): add a dummy
  function.
* vm_core.h: add and fix decl. of functions.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-27 00:30:41 +00:00
tadf
8ce62003a0 * ext/date/date_parse.c: should use ALLOCA_N.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-26 23:01:56 +00:00
nobu
61a34d625e * test/etc/test_etc.rb (TestEtc#test_get{pw,gr}nam): skip entries
start with + sign, which means NIS.  these are returned in the
  case that passwd and group entries in /etc/nsswitch.conf are set
  to use "nis" explicitly on Debian.  fixed #3683

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-26 16:34:20 +00:00
naruse
e8e7ad8192 Add news about r30188 (Net::HTTPRequest#set_form).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-26 15:55:29 +00:00
svn
19ef07bb34 * 2011-06-27
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-26 15:45:50 +00:00
naruse
8d00a7c274 * parse.y (rb_parser_end_seen_p): fix documentation about return
value. patched by Sho Hashimoto. [Bug #4511]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-26 15:45:49 +00:00
naruse
145fccbd42 * hash.c (rb_hash_reject): add documentation that Hash#reject
without block returns enumerator.
  patched by Michael Edgar [Bug #4847] [ruby-core:36800]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-26 15:45:47 +00:00
tadf
a252c17e15 * test/date/test_switch_hitter.rb: added a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-26 14:50:09 +00:00
tadf
51a0501a39 * ext/date/date_core.c: refactoring.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-26 13:23:00 +00:00
shyouhei
d6e89e0c4e * parse.y: comma at the end of line is no longer allowed.
A patch from Yukihiro Matsumoto  <matz AT ruby-lang.org>.
  (fixed #3456).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-26 09:09:49 +00:00
kosaki
230be2a771 * vm_dump.c (rb_vm_bugreport): change CrashReporter suggestion messages
on Mac. It should be placed after "-- C level backtrace" line.
  Suggested by Endoh-san.

  <before>
  -- See Crash Report log file under ~/Library/Logs/CrashReporter or ---------
  -- /Library/Logs/CrashReporter, for the more detail of ---------------------
  -- C level backtrace information -------------------------------------------

<after>
  -- C level backtrace information -------------------------------------------

     See Crash Report log file under ~/Library/Logs/CrashReporter or
     /Library/Logs/CrashReporter, for the more detail of.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-26 04:49:33 +00:00
emboss
93e1583d73 * ext/openssl/extconf.rb
* ext/openssl/ossl_missing.h/.c: add ASN1_put_eoc if missing.

* ext/openssl/ossl_asn1.c: introduce ossl_asn1_object_size and
  ossl_asn1_put_object to wrap functionality depending on OpenSSL
  version in use.
  Fixes	[ Ruby 1.9 - Bug #4916 ] reported by Hiroshi Nakamura.
  [ruby-core:37286]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-26 01:32:03 +00:00
tadf
3380f2ff6e * ext/date/date_core.c (date_strftime_internal): removed meaningless braces.
* ext/date/date_core.c (gengo): the value should be int.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-25 16:03:11 +00:00
svn
64fd7d8785 * 2011-06-26
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-25 15:05:41 +00:00
nagachika
9c931b853b * vm_insnhelper.c (vm_search_superclass): avoid control frame
stack overrun. currently super() in Proc created in a method
  defined by Module#define_method raise NoMethodError. [Bug #4881]
* test/ruby/test_method.rb t_super_in_proc_from_define_method):
  add test for it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32227 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-25 15:05:37 +00:00
nagachika
fb72e453f9 * thread.c (sleep_forever): now Kernel#sleep don't wakeup by
signal handler execution. [Bug #4072]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-25 14:28:56 +00:00
nagachika
1a196574c4 * thread.c (rb_threadptr_check_signal): remove unnecessary th->status
backup. fix race condition which may results unexpected main thread's
  status transition. see #4072

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-25 14:21:16 +00:00
svn
eae5081790 * 2011-06-25
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-25 09:20:20 +00:00
nagachika
d5448b8e91 * ChangeLog: fix some typos.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-25 09:20:16 +00:00
nahi
635d13a8b7 * lib/webrick/httprequest.rb (setup_forwarded_info): Parsing request
header failed when the request is from 2 or more Apache reverse 
  proxies. It's said that all X-Forwarded-* headers will contain more
  than one (comma-separated) value if the original request already
  contained one of these headers.  Since we could use these values as
  Host header, we choose the initial(first) value. See #4922.

* test/webrick/test_httprequest.rb (test_forwarded): Test it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-24 11:05:59 +00:00
nobu
706335aa0b * process.c (proc_daemon): should not start timer thread
twice.  fixed Bug#4920.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-24 08:06:38 +00:00
nahi
dd91beb3e1 * Typo fixed. Is it reallyl a typo? 2*2 == 2+2 == 4.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-24 07:06:13 +00:00
nahi
369b095015 * ext/openssl/ossl_ssl.c (ossl_ssl_shutdown): Try to shutdown SSL
connection more gracefully. Call SSL_shutdown() max 4 times until it  
  returns 1 (success). Bi-directional SSL close has several states but
  SSL_shutdown() kicks only 1 transition per call. Max 4 is from
  mod_ssl.c of Apache httpd that says 'max 2x pending * 2x data = 4'.
  See #4237.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-24 07:01:52 +00:00
drbrain
ea9c30bec1 * lib/rake/version.rb: Fixed VERSION to work with tool/rbinstall.rb
* bin/rake:  Import bin/rake from 0.9.2
	* tool/rbinstall.rb (install):  Rake::VERSION is now in
	  lib/rake/version.rb.  Fixes `make install`


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-23 22:24:44 +00:00
drbrain
d001539a05 * lib/rake: Import Rake 0.9.2
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-23 22:11:55 +00:00