From: WATANABE Hirofumi Date: 1998-03-16T16:49:02+09:00 Subject: [ruby-dev:1805] Re: experimental release 1.1b9_02 わたなべです. Yukihiro Matsumoto writes: :参考用のパッチです.うまく行くようでしたら教えて下さい. :ついでにメモリリークをひとつ消しておきました. 家に帰らないと最終的な確認はできないけど, cygwin32 の場合 pipe_add_fptr するけど fptr->finalize に pipe_finalize が登 録されないので pipe_del_fptr が実行されなくて pipe_atexit で もう一度 io_fptr_finalize をしてしまうのが原因のような気します. -- わたなべひろふみ --- io.c~ Mon Mar 16 16:33:20 1998 +++ io.c Mon Mar 16 16:35:53 1998 @@ -944,3 +943,2 @@ -#if !defined (__CYGWIN32__) static void @@ -949,2 +947,3 @@ { +#if !defined (__CYGWIN32__) if (fptr->f != NULL) { @@ -955,2 +954,10 @@ } +#else + if (fptr->f != NULL) { + fclose(fptr->f); + } + if (fptr->f2 != NULL) { + fclose(fptr->f2); + } +#endif fptr->f = fptr->f2 = NULL; @@ -959,3 +966,2 @@ #endif -#endif @@ -1079,2 +1085,3 @@ #if defined (__CYGWIN32__) + fptr->finalize = pipe_finalize; pipe_add_fptr(fptr);