diff options
author | Yukihiro Matsumoto <[email protected]> | 1995-01-10 00:58:20 +0900 |
---|---|---|
committer | Takashi Kokubun <[email protected]> | 2019-08-17 22:09:31 +0900 |
commit | 5d828b25d4ae30a000c054a724ac248dadbb97b3 (patch) | |
tree | 080fc6e3b41b9c59cf5def77ae619a82e7e252db /process.c | |
parent | bd0c733b77b561f4d12daccebf06a7c71917000b (diff) |
version 0.64v0_64
https://cache.ruby-lang.org/pub/ruby/1.0/ruby-0.64.tar.gz
Tue Jan 10 00:58:20 1995 Yukihiro Matsumoto (matz@dyna)
* eval.c: レシーバと引数は常にiterではない.
* cons.c(aref,aset): negative offset対応.
Mon Jan 9 14:40:39 1995 Yukihiro Matsumoto (matz@ix-02)
* parse.y: foo{..}の形式において,fooをローカル変数やクラス名では
なく,引数なしの関数型メソッド呼び出しとみなすようにした.
* list.c -> cons.c: 名称変更(クラス名も).
* list.c: a::b::c::nilをリスト(a b c)とみなすlisp形式から,a::b::c
をリスト(a b c)とみなすruby形式に変更.[], []=, eachもそれに会わ
せた仕様とする.
* list.c: consペアとしての機能を強調.仕様変更.
Sat Jan 7 01:26:26 1995 Yukihiro Matsumoto (matz@dyna)
* eval.c: 自己代入の不具合修正.
* eval.c(masign): 多重代入が配列もリストもとれるようにした.
* list.c: assocを2要素の配列からList(CONSペア)に変更した.
Fri Jan 6 13:42:12 1995 Yukihiro Matsumoto (matz@ix-02)
* parse.y: a[b]+=cやa.b+=cなどの自己代入形式で,aやbを2度評価しな
くなった.
* eval.c: iterator設定のバグフィックス.
* list.c: Listクラスを新設.
Thu Jan 5 13:55:00 1995 Yukihiro Matsumoto (matz@ix-02)
* parse.y: SCOPEのメモリリークをなくした.
* eval.c: built-inメソッドへの引数の引き渡し方を変更して,配列の生
成数を減らした.
* re.c: match-dataを毎回生成することをやめた.`$~'をアクセスした時
にon-demandで生成する.
* string.c etc: 不必要なmemmoveをmemcpyに置換.
* parse.y: =~, !~は副作用があるのでコンパイル時に展開できない.
Tue Jan 3 02:04:36 1995 Yukihiro Matsumoto (matz@dyna)
* eval.c: rest引数のbug fix.
* eval.c,gc.c: scopeをオブジェクトにした.
* eval.c: envとscopeの扱いを変更した.
Wed Dec 28 09:46:57 1994 Yukihiro Matsumoto (matz@ix-02)
* parse.y: evalでローカル変数が追加された場合に対応した.
* parse.y: 演算子を含むaliasのbug fix.
Tue Dec 27 16:45:20 1994 Yukihiro Matsumoto (matz@ix-02)
* parse.y: def A Bをalias A Bに変更.
* eval.c: alias関係のbug修正.nodeをオブジェクト化した時にenbugし
たようだ.
* signal.c: システムコールの再定義を止めた.
* io.c(select): write/exceptのフラグ設定にバグ.
* Makefile.in: static link用オプションをMake変数として独立させた.
Diffstat (limited to 'process.c')
-rw-r--r-- | process.c | 19 |
1 files changed, 12 insertions, 7 deletions
@@ -3,7 +3,7 @@ process.c - $Author: matz $ - $Date: 1994/12/20 05:07:11 $ + $Date: 1995/01/10 10:42:47 $ created at: Tue Aug 10 14:30:50 JST 1993 Copyright (C) 1994 Yukihiro Matsumoto @@ -17,6 +17,9 @@ #include <signal.h> #include <sys/time.h> #include <sys/resource.h> +#ifdef HAVE_VFORK_H +#include <vfork.h> +#endif #include "st.h" static VALUE @@ -142,8 +145,8 @@ rb_proc_exec(str) return -1; } } - a = argv = (char**)alloca(((s - str)/2+2)*sizeof(char*)); - s = (char*)alloca(s - str + 1); + a = argv = ALLOCA_N(char*, (s-str)/2+2); + s = ALLOCA_N(char, s-str+1); strcpy(s, str); if (*a++ = strtok(s, " \t")) { while (t = strtok(NULL, " \t")) { @@ -278,13 +281,15 @@ Fsleep(argc, argv) } static VALUE -Fproc_getpgrp(obj, args) - VALUE obj, args; +Fproc_getpgrp(argc, argv, obj) + int argc; + VALUE *argv; + VALUE obj; { VALUE vpid; int pid, pgrp; - rb_scan_args(args, "01", &vpid); + rb_scan_args(argc, argv, "01", &vpid); if (vpid == Qnil) { pid = 0; } @@ -497,7 +502,7 @@ Init_process() rb_define_module_function(M_Process, "pid", get_pid, 0); rb_define_module_function(M_Process, "ppid", get_ppid, 0); - rb_define_module_function(M_Process, "getpgrp", Fproc_getpgrp, -2); + rb_define_module_function(M_Process, "getpgrp", Fproc_getpgrp, -1); rb_define_module_function(M_Process, "setpgrp", Fproc_setpgrp, 2); rb_define_module_function(M_Process, "getpriority", Fproc_getpriority, 2); |