From 61acccefb7b90ab8dcbccc216e56c0ea61f1b54a Mon Sep 17 00:00:00 2001 From: akr Date: Thu, 21 Aug 2008 10:18:38 +0000 Subject: * process.c (pst_pid): use rb_attr_get to avoid warning on Process::Status.allocate.pid. (pst_inspect): don't raise if self is not initialized. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- process.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'process.c') diff --git a/process.c b/process.c index c231920eed..22a889d9fd 100644 --- a/process.c +++ b/process.c @@ -271,7 +271,7 @@ pst_to_i(VALUE st) static VALUE pst_pid(VALUE st) { - return rb_iv_get(st, "pid"); + return rb_attr_get(st, rb_intern("pid")); } static void @@ -344,9 +344,13 @@ pst_inspect(VALUE st) { rb_pid_t pid; int status; - VALUE str; + VALUE vpid, str; - pid = NUM2LONG(pst_pid(st)); + vpid = pst_pid(st); + if (NIL_P(vpid)) { + return rb_sprintf("#<%s: uninitialized>", rb_class2name(CLASS_OF(st))); + } + pid = NUM2LONG(vpid); status = PST2INT(st); str = rb_sprintf("#<%s: ", rb_class2name(CLASS_OF(st))); -- cgit v1.2.3