21841 Commits

Author SHA1 Message Date
ko1
450463d5fb * thread.c, vm_core.h: make gvl_acquire/release/init/destruct
APIs to modularize GVL implementation.
* thread_pthread.c, thread_pthread.h: Two GVL implementations.
  (1) Simple locking GVL which is same as existing GVL.
  (2) Wake-up queued threads.  The wake-up order is simple FIFO.
  (We can make several queues to support exact priorities, however
  this causes some issues such as priority inversion and so on.)
  This impl. prevents spin-loop (*1) caused on SMP environemnts.
  *1: Only one Ruby thread acqures GVL again and again.
  Bug #2359 [ruby-core:26694]
* thread_win32.c, thread_win32.h: Using simple lock
  not by CRITICAL_SECTION but by Mutex.
  Bug #3890 [ruby-dev:42315]
* vm.c (ruby_vm_destruct): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-27 20:15:59 +00:00
luislavena
ac0f5a53b6 * io.c (io_fwrite): use rb_w32_write_console under Windows.
* win32/win32.c (rb_w32_write_console): added to write to write
    Unicode using WriteConsoleW for stdout/stderr. [ruby-core:33166]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-27 19:49:58 +00:00
svn
1342c3ba27 * 2010-11-28
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-27 19:22:54 +00:00
naruse
baf7a09d35 * lib/net/http.rb: improve rdoc.
patched by Mike Perham [ruby-core:33433]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-27 19:22:53 +00:00
akr
cf869bc14d * time.c: parenthesize macro arguments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-27 10:12:48 +00:00
nobu
2451d735a7 * time.c (leap_year_v_p): fixed typo. [ruby-dev:42631]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-27 09:08:29 +00:00
akr
0ebec8cf72 * resolv.rb (Resolv::DNS): use the same DNS server when retry using TCP.
reported by Julian Mehnle.  [ruby-core:32970]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-27 09:03:26 +00:00
nobu
3e57529e3e * vm_dump.c (rb_vm_bugreport): see CrashReport log on Mac OS X.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-27 06:45:30 +00:00
nobu
3c36edc0d2 * configure.in: link addr2line only for ELF.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-27 06:43:30 +00:00
shugo
2381984069 * lib/optparse.rb (OptionParser#candidate): : was missing. Thanks,
Shota Fukumori.  [ruby-dev:42634]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-27 05:01:13 +00:00
matz
d412050e72 * man/ruby.1: Ruby man page from Arthur Gunn in [ruby-core:33412]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-27 03:08:12 +00:00
nobu
7050069d80 * lib/optparse.rb (OptionParser#candidate): get rid of 1.9 syntax
so that BASERUBY can be 1.8.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-27 02:29:26 +00:00
nobu
e394ddd2f7 * addr2line.c: needs <errno.h>.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-27 02:02:43 +00:00
nobu
ca86a063d5 * addr2line.c (rb_dump_backtrace_with_lines): should close fd on
edge case.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-26 23:16:24 +00:00
naruse
39e7b2fb94 * addr2line.c: apply a patch from shinichiro.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-26 04:39:23 +00:00
naruse
086301ac73 * addr2line.c: added to show source filename and line number of
functions in backtrace. [ruby-dev:42625]
  a patch from shinichiro.h <shinichiro.hamaji AT gmail.com>

* addr2line.h: ditto.

* common.mk: add addr2line.$(OBJEXT).

* configure.in: check dl_iterate_phdr.

* vm_dump.c (rb_vm_bugreport): use rb_dump_backtrace_with_lines in
  addr2line.c when the binary is ELF.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-26 03:28:50 +00:00
naruse
f8f3585416 * regcomp.c (setup_tree): restart setup_tree() for a node whose
AnchorNode's type is ANCHOR_PREC_BEHIND or ANCHOR_PREC_BEHIND_NOT
  and divide_look_behind_alternatives() divided it to NT_ALT or
  NT_LIST. [ruby-core:33370]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-26 03:28:48 +00:00
usa
f55d567b59 * vm_dump.c (dump_thread): get only required rights of the target
thread because THREAD_ALL_ACCESS causes an access error on XP.
  reported by Masaya TARUI via IRC.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-26 02:42:46 +00:00
usa
952a357274 * vm_dump.c (dump_thread): show the displacement from the beginning
of the symbol.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-26 02:10:25 +00:00
usa
b96d267c7e * vm_dump.c (dump_thread): follow the output of glibc.
see [ruby-dev:42627]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-26 01:50:18 +00:00
usa
ca8405298f * re.c (rb_reg_initialize_str): should succeed the taint status from
the origin. [ruby-core:33338]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-26 00:50:42 +00:00
usa
cc494bcb20 * ChangeLog: commit miss.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-26 00:34:50 +00:00
usa
6f581a68b8 * vm_dump.c (dump_thread): seems to be necessary the 3rd argument of
SymGetLineFromAddr64(), even though MSDN says it can be zero.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-26 00:34:04 +00:00
svn
bc0fcc5357 * 2010-11-26
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-26 00:24:30 +00:00
naruse
2578743199 * regcomp.c (onig_is_prelude): added to check whether ruby is still
in prelude (or other boot processes) or not.

* regcomp.c (optimize_node_left): use onig_is_prelude for printing.

* regcomp.c (set_optimize_info_from_tree): ditto.

* regcomp.c (onig_compile): ditto.

* regcomp.c (print_compiled_byte_code_list): print its address.

* regcomp.c (print_indent_tree): print its contents tree of
    ANCHOR_PREC_READ(_NOT) and ANCHOR_PREC_BEHIND(_NOT).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-26 00:24:28 +00:00
nobu
756dfe9f40 fix typos.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-25 14:31:36 +00:00
naruse
bd98301784 * regcomp.c (print_distance_range): use PRIuSIZE.
* regcomp.c (print_optimize_info): use %ld because the type of
  calcutated value of integers is long.

* regexec.c (onig_print_compiled_byte_code): add prototype.

* regexec.c (match_at): add 2nd argument.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-25 14:14:44 +00:00
usa
b00dfcca17 * ext/dl/callback/mkcallback.rb (gencallback): shouldn't assume that
VALUE is the same size with long.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-25 01:31:21 +00:00
usa
69a248a073 * test/win32ole/test_err_in_callback.rb (teardown): remove tmp file
only when it exists.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-25 01:03:52 +00:00
svn
ed637d01d7 * 2010-11-25
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-24 16:40:40 +00:00
naruse
b98ea1505c * enc/trans/big5-hkscs-tbl.rb: Update table as HKSCS-2008.
patched by oCameLo oTnTh [ruby-core:33256]

* enc/big5.c: add alias Big5-HKSCS:2008 to Big5-HKSCS.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-24 16:40:38 +00:00
usa
99606f89c0 * vsnprintf (BSD_vfprintf): use QUADINT macro only when _HAVE_SANE_QUAD_
macro is defined.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29900 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-24 06:18:43 +00:00
usa
7329f4e92c * vsnprintf (BSD_vfprintf): added VC++ compatible size specifications
(I, I32, I64).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-24 03:50:03 +00:00
naruse
220d07d2fc * string.c (rb_str_inspect): treat UTF-16 and UTF-32 as BE or LE.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-24 02:20:11 +00:00
naruse
38b482be8c * enc/trans/utf_16_32.trans: add the UTF-32 converter.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-24 00:08:04 +00:00
nobu
bcf80a5140 * test/ruby/test_transcode.rb: ASCII-8BIT is not a valid encoding name in Emacs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-23 21:37:56 +00:00
nobu
3c4fecda3f * win32/win32.c (filecp, wstr_to_mbstr, mbstr_to_wstr):
refactored.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-23 21:13:35 +00:00
naruse
7f38397b6c * enc/trans/utf_16_32.trans: add a convert from UTF-8 to UTF-16.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-23 20:49:56 +00:00
naruse
3ab82a65d7 * enc/trans/utf_16_32.trans: raise error on unpaired upper
surrogates.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-23 18:23:03 +00:00
svn
952006388f * 2010-11-24
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-23 16:42:48 +00:00
naruse
78bee9c26a * enc/utf_16_32.h: add UTF-16 and UTF-32 as a dummy encoding.
* enc/trans/utf_16_32.trans: add a converter from UTF-16 to UTF-8.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-23 16:42:47 +00:00
tadf
92b190fa24 fixed very important banners.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-23 14:36:37 +00:00
tadf
4ffe7a1734 modified some descriptions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-23 14:28:55 +00:00
nobu
16cb5ce483 * win32/win32.c (wlink, rb_w32_getppid): use typedef instead of
repeating compilcated function prototypes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-23 12:59:50 +00:00
nobu
3c575a15c2 * vm.c (rb_thread_mark): should mark self in conrol
frames.  [ruby-core:33289]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-23 09:54:07 +00:00
tadf
b828fb85dd * lib/date/delta/parser.{ry,rb}: fixed a bug of token scanner.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-22 22:59:48 +00:00
tadf
bacd547858 added some tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-22 22:32:57 +00:00
tadf
1d8ca7a237 * complex.c, rational.c ({nucomp,nurat}_expt): added a check.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-22 22:31:55 +00:00
tadf
6e9ca64843 added some tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-22 22:28:53 +00:00
tadf
ed5c01b9a3 * lib/date.rb (daynum): should be private.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-22 22:28:01 +00:00