[#28230] bcc32 memory manager — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

15 messages 2006/01/18

[#28243] FUNCTION_CALL_MAY_RETURN_TWICE — Hajimu UMEMOTO <ume@...>

梅本です。

18 messages 2006/01/20

[#28270] Re: [PATCH] solaris 10 isinf and ruby_setenv fixes — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

17 messages 2006/01/23
[#28271] Re: [PATCH] solaris 10 isinf and ruby_setenv fixes — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2006/01/23

山本です。

[#28272] Re: [PATCH] solaris 10 isinf and ruby_setenv fixes — WATANABE Hirofumi <eban@...> 2006/01/23

わたなべです。

[#28273] Re: [PATCH] solaris 10 isinf and ruby_setenv fixes — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2006/01/23

山本です。

[#28274] Re: [PATCH] solaris 10 isinf and ruby_setenv fixes — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2006/01/24

山本です。

[#28275] Re: [PATCH] solaris 10 isinf and ruby_setenv fixes — "U.Nakamura" <usa@...> 2006/01/24

こんにちは、なかむら(う)です。

[#28286] SEGV with zlib — Tanaka Akira <akr@...17n.org>

最近、Data オブジェクトの free 関数が気になっているのですが、

24 messages 2006/01/30
[#28303] Re: SEGV with zlib — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2006/02/06

山本です。

[#28304] Re: SEGV with zlib — Yukihiro Matsumoto <matz@...> 2006/02/06

まつもと ゆきひろです

[#28305] Re: SEGV with zlib — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2006/02/06

山本です。

[#28306] Re: SEGV with zlib — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2006/02/06

山本です。

[#28307] Re: SEGV with zlib — Tietew <tietew-ml-ruby-dev@...> 2006/02/06

[#28308] Re: SEGV with zlib — Yukihiro Matsumoto <matz@...> 2006/02/06

まつもとゆきひろです。

[ruby-dev:28276] Re: [PATCH] solaris 10 isinf and ruby_setenv fixes

From: "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
Date: 2006-01-24 06:36:36 UTC
List: ruby-dev #28276
山本です。

>こんにちは、なかむら(う)です。
>
>In message "[ruby-dev:28274] Re: [PATCH]  solaris 10  isinf and ruby_setenv fixes"
>    on Jan.24,2006 15:27:41, <ocean@m2.ccsnet.ne.jp> wrote:
>| 何か、環境変数がうまく伝わっていない感じで、
>| test/ruby/beginmainend.rb で p ENV すると { , , , , , , } 
>| みたいになって、良くない感じです。いったん取り下げます。
>
>つまり、setenv(とunsetenv)を使った上でちゃんと伝播するかどう
>かまでconfigureでチェックすればいいんですかねえ。
># と、言うだけで、パッチはないんですが

そうですね、でも原因がわからないのが気持ち悪いので、しばらく究明してみるつもりで
います。(時間がたつと接続を切断されてしまうのでやりにくいのですが > TestDrive)

あと、書き忘れたのですが、同様のパッチを 1.8 に当てると動くのです。HEAD に当てる
と先のエラーがでます。下のパッチなのですが OS の setenv の挙動にしては HEAD と
1.8 で違いが出るのが???です。(パッチを当てそこなった?)

Index: configure.in
===================================================================
RCS file: /src/ruby/configure.in,v
retrieving revision 1.296
diff -u -w -b -p -r1.296 configure.in
--- configure.in	22 Jan 2006 11:34:51 -0000	1.296
+++ configure.in	24 Jan 2006 01:45:39 -0000
@@ -506,7 +506,7 @@ AC_CHECK_FUNCS(fmod killpg wait4 waitpid
 	      getpriority getrlimit setrlimit\
 	      dlopen sigprocmask sigaction _setjmp vsnprintf snprintf\
 	      setsid telldir seekdir fchmod mktime timegm cosh sinh tanh\
-	      setuid setgid daemon select_large_fdset)
+	      setuid setgid daemon select_large_fdset unsetenv)
 AC_ARG_ENABLE(setreuid,
        [  --enable-setreuid       use setreuid()/setregid() according to need even if obsolete.],
        [use_setreuid=$enableval])
@@ -514,6 +514,20 @@ if test "$use_setreuid" = yes; then
     AC_DEFINE(USE_SETREUID)
     AC_DEFINE(USE_SETREGID)
 fi
+AC_CACHE_CHECK(for setenv (2 arguments), rb_cv_have_setenv_2args,
+  [AC_TRY_COMPILE([#include <stdlib.h>], [setenv("foo", "foo");],
+	rb_cv_have_setenv_2args=yes,
+	rb_cv_have_setenv_2args=no)])
+if test "$rb_cv_have_setenv_2args" = yes; then
+  AC_DEFINE(HAVE_SETENV_2ARGS)
+fi
+AC_CACHE_CHECK(for setenv (3 arguments), rb_cv_have_setenv_3args,
+  [AC_TRY_COMPILE([#include <stdlib.h>], [setenv("foo", "foo", 1);],
+	rb_cv_have_setenv_3args=yes,
+	rb_cv_have_setenv_3args=no)])
+if test "$rb_cv_have_setenv_3args" = yes; then
+  AC_DEFINE(HAVE_SETENV_3ARGS)
+fi
 AC_STRUCT_TIMEZONE
 AC_CACHE_CHECK(for struct tm.tm_gmtoff, rb_cv_member_struct_tm_tm_gmtoff,
   [AC_TRY_COMPILE([#include <time.h>],
Index: hash.c
===================================================================
RCS file: /src/ruby/hash.c,v
retrieving revision 1.159
diff -u -w -b -p -r1.159 hash.c
--- hash.c	20 Oct 2005 02:56:22 -0000	1.159
+++ hash.c	24 Jan 2006 01:46:57 -0000
@@ -1690,7 +1690,14 @@ ruby_setenv(const char *name, const char
      *         RTL's environ global variable directly yet.
      */
     SetEnvironmentVariable(name,value);
-#elif defined __CYGWIN__
+#elif defined(HAVE_SETENV_2ARGS) && defined(HAVE_UNSETENV)
+#undef setenv
+#undef unsetenv
+    if (value)
+	setenv(name,value);
+    else
+	unsetenv(name);
+#elif defined(HAVE_SETENV_3ARGS) && defined(HAVE_UNSETENV)
 #undef setenv
 #undef unsetenv
     if (value)


In This Thread