[#22109] diffコマンドのオプションは? — Shibukawa Yoshiki <yoshiki@...>
渋川です。
[#22120] invalid parameter to fcntl in drb.rb — siena@... (Siena. / SHINAGAWA, Norihide)
Siena. です。
西山和広です。
Siena. です。
こんにちは、なかむら(う)です。
[#22144] core dump with ObjectSpace.each_object. — Tanaka Akira <akr@...17n.org>
次のように core を吐くことがあります。
まつもと ゆきひろです
なかだです。
[#22167] 1.8.1 preview3 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
In message <1070645035.747201.27874.nullmailer@picachu.netlab.jp>
まつもと ゆきひろです
In message <1070904807.535101.6285.nullmailer@picachu.netlab.jp>
まつもと ゆきひろです
[#22173] iconv map_charset on Solaris — Tanaka Akira <akr@...17n.org>
Solaris で、config.charset を用意しておいても
[#22190] override private methods — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
[#22195] IO::for_io and TCPServer#bind — GOTOU Yuuzou <gotoyuzo@...>
test_drb が IPv4 射影アドレスが有効な環境でないと動かないこ
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
まつもと ゆきひろです
なかだです。
なかだです。
なかだです。
まつもと ゆきひろです
[#22205] yet another inconsistency about EOF between StringIO and IO — Tanaka Akira <akr@...17n.org>
StringIO の
なかだです。
In article <200312100725.hBA7P8Ac011112@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
In article <200312100917.hBA9HuAc013516@sharui.nakada.kanuma.tochigi.jp>,
さかいといいます。
In article <20031211.214041.71090239.sakai@tom.sfc.keio.ac.jp>,
In article <87k751dzyf.fsf@serein.a02.aist.go.jp>,
まつもと ゆきひろです
In article <1072167374.096702.13473.nullmailer@picachu.netlab.jp>,
まつもと ゆきひろです
In article <1072187210.052832.16566.nullmailer@picachu.netlab.jp>,
[#22235] block to method by proc — nobu.nakada@...
なかだです。
まつもと ゆきひろです
[#22238] errors in test/fileutils — siena@... (Siena. / SHINAGAWA, Norihide)
Siena. です。
[#22251] lib/fileutils.rb — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#22289] mswin32 optimize — Tietew <tietew-ml-ruby-dev@...>
Tietew です。
[#22307] "rdoc -r" causes SEGV — akira yamada <akira@...>
まつもと ゆきひろです
[#22330] core dump with ungetc — Tanaka Akira <akr@...17n.org>
次のように ungetc を使うと core を吐く場合があります。
なかだです。
In article <200312230824.hBN8O5kM005374@sharui.nakada.kanuma.tochigi.jp>,
なかだです。
[#22344] pack('N') broken on 64bit platforms — Minero Aoki <aamine@...>
青木です。
[#22356] (OSX) TCPServer.open(hostname, 0) — Masatoshi SEKI <m_seki@...>
咳といいます。
まつもと ゆきひろです
まつもと ゆきひろです
[#22366] `to_s': method `to_s' overridden (TypeError) — Tanaka Akira <akr@...17n.org>
そういえば、次の `to_s': method `to_s' overridden (TypeError) というの
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
[#22375] win32 thread — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#22385] Tk.callback_break causes seg-fault or hang-up — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
まつもと ゆきひろです
まつもと ゆきひろです
永井@知能.九工大です.
まつもと ゆきひろです
まつもと ゆきひろです
[#22389] patches for i386-os2-emx — siena@... (Siena. / SHINAGAWA, Norihide)
Siena. です。
[#22403] dlfcn.h on NetBSD — Minero Aoki <aamine@...>
青木です。
[#22418] ruby-1.8.1 build failed on HP-UX 11.11 — MIYAMUKO Katsuyuki <k-miyamuko@...>
みやむこです。
まつもと ゆきひろです
まつもと ゆきひろです
みやむこです。
みやむこです。
なかだです。
みやむこです。
なかだです。
みやむこです。
なかだです。
みやむこです。
なかだです。
みやむこです。
[#22433] ARGF.read(nil) — Tanaka Akira <akr@...17n.org>
というわけで気がついたのですが、
まつもと ゆきひろです
In article <1072453715.631656.23109.nullmailer@picachu.netlab.jp>,
まつもと ゆきひろです
[#22435] Re: [ruby-cvs] ruby: * io.c (rb_f_backquote): need not to check nil result. — Tanaka Akira <akr@...17n.org>
In article <20031226153432.0AF6A45A809@helium.ruby-lang.org>,
[#22469] ARGF.each {|x| ARGF.eof? } and number of Ctrl-Ds. — Tanaka Akira <akr@...17n.org>
次のプログラムは、a^D^D と入力すると終了します。この場合終了には ^D は
[ruby-dev:22245] Re: 1.8.1 preview3
なかだです。
At Wed, 10 Dec 2003 15:00:54 +0900,
U.Nakamura wrote:
> ごとうゆうぞうさんが直し方を発見して、それにわたなべひろふみさんが
> 手を加えたものを、私が代理で先ほどcommitしておきました。
> # ややこしい
>
> たぶん直ってると思いますが、よかったら確認してみてください。
これは条件が変わってコンパイルされる部分が変わったわけですが、
元の部分(!defined(TIOCSCTTY)のとき)を使う環境では解決していない
ような気がします。一度slaveをclose()してしまうのがまずいのでは
なかろうか、という推測でこういうパッチを作ってみましたが、実際
そういう環境は持ってないのでよく分かりません。
あと、できればPTY::ChildExited#initializeも。
Index: ext/pty/pty.c
===================================================================
RCS file: /cvs/ruby/src/ruby/ext/pty/pty.c,v
retrieving revision 1.19
diff -u -2 -p -d -r1.19 pty.c
--- ext/pty/pty.c 11 Dec 2003 02:39:59 -0000 1.19
+++ ext/pty/pty.c 12 Dec 2003 09:00:21 -0000
@@ -119,4 +119,20 @@ extern int errno;
static VALUE eChildExited;
+extern VALUE rb_last_status;
+
+static VALUE
+echild_initialize(argc, argv, self)
+ int argc;
+ VALUE *argv;
+ VALUE self;
+{
+ VALUE mesg, status;
+ if (rb_scan_args(argc, argv, "11", &mesg, &status) < 2) {
+ status = rb_last_status;
+ }
+ rb_call_super(1, &mesg);
+ rb_iv_set(self, "status", status);
+ return self;
+}
static VALUE
@@ -133,19 +149,4 @@ struct pty_info {
};
-static void
-raise_from_wait(state, info)
- struct pty_info *info;
- char *state;
-{
- extern VALUE rb_last_status;
- char buf[1024];
- VALUE exc;
-
- snprintf(buf, sizeof(buf), "pty - %s: %d", state, info->child_pid);
- exc = rb_exc_new2(eChildExited, buf);
- rb_iv_set(exc, "status", rb_last_status);
- rb_funcall(info->thread, rb_intern("raise"), 1, exc);
-}
-
static VALUE
pty_syswait(info)
@@ -153,4 +154,6 @@ pty_syswait(info)
{
int cpid, status;
+ char buf[40], *state;
+ VALUE exc, args[2];
for (;;) {
@@ -159,21 +162,22 @@ pty_syswait(info)
#if defined(IF_STOPPED)
- if (IF_STOPPED(status)) { /* suspend */
- raise_from_wait("stopped", info);
- }
-#elif defined(WIFSTOPPED)
- if (WIFSTOPPED(status)) { /* suspend */
- raise_from_wait("stopped", info);
- }
-#else
+#define WIFSTOPPED(status) IF_STOPPED(status)
+#elif !defined(WIFSTOPPED)
---->> Either IF_STOPPED or WIFSTOPPED is needed <<----
#endif /* WIFSTOPPED | IF_STOPPED */
+ if (WIFSTOPPED(status)) { /* suspend */
+ state = "stopped";
+ }
else if (kill(info->child_pid, 0) == 0) {
- raise_from_wait("changed", info);
+ state = "changed";
}
else {
- raise_from_wait("exited", info);
- return Qnil;
+ state = "exited";
}
+ snprintf(buf, sizeof(buf), "pty - %s: %d", state, info->child_pid);
+ args[0] = rb_str_new2(buf);
+ args[1] = rb_last_status;
+ exc = rb_class_new_instance(2, args, eChildExited);
+ rb_funcall(info->thread, rb_intern("raise"), 1, exc);
}
}
@@ -268,5 +272,5 @@ establishShell(argc, argv, info)
/* errors ignored for sun */
#else
- close(slave);
+ i = slave;
slave = open(SlaveName, O_RDWR);
if (slave < 0) {
@@ -274,4 +278,5 @@ establishShell(argc, argv, info)
_exit(1);
}
+ close(i);
close(master);
#endif
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦