[#23805] net/smtp — 佐藤 大輔 <densuke@...2.so-net.ne.jp>

佐藤です。

26 messages 2000/07/12
[#23806] Re: net/smtp — matz@... (Yukihiro Matsumoto) 2000/07/12

まつもと ゆきひろです

[#23808] Re: net/smtp — 佐藤 大輔 <densuke@...2.so-net.ne.jp> 2000/07/12

佐藤です。

[#23809] Re: net/smtp — matz@... (Yukihiro Matsumoto) 2000/07/12

まつもと ゆきひろです

[#23811] Re: net/smtp — Minero Aoki <aamine@...> 2000/07/12

あおきです。

[#23812] Re: net/smtp — matz@... (Yukihiro Matsumoto) 2000/07/12

まつもと ゆきひろです

[#23890] Ruby Entry Package and cygwin1.dll — Noritsugu Nakamura <nnakamur@...>

25 messages 2000/07/18
[#23895] Re: Ruby Entry Package and cygwin1.dll — WATANABE Hirofumi <eban@...> 2000/07/18

わたなべです.

[#23896] Re: Ruby Entry Package and cygwin1.dll — Noritsugu Nakamura <nnakamur@...> 2000/07/18

[#23897] Re: Ruby Entry Package and cygwin1.dll — Katsuyuki Komatsu <komatsu@...> 2000/07/19

小松です。

[#23898] Re: Ruby Entry Package and cygwin1.dll — WATANABE Hirofumi <eban@...> 2000/07/19

わたなべです.

[#23899] Re: Ruby Entry Package and cygwin1.dll — Katsuyuki Komatsu <komatsu@...> 2000/07/19

小松です。

[#23923] Re: [ruby-dev:10353] Re: should prohibit `module_function' for class Class — Masatoshi SEKI <m_seki@...>

11 messages 2000/07/19

[#23940] String#unpack と scanf の関係 — kiwamu <kiwamu@...>

こんにちは。岡部@東京都立大学と申します。

16 messages 2000/07/20

[ruby-list:24036] Re: OpenStep

From: おかもと <okamoto@...>
Date: 2000-07-28 07:23:29 UTC
List: ruby-list #24036
 おかもとです。

> うーむ、これを見る限り union wait を要求するようですね。
> 古い。どーしよーかなあ。

 /usr/include/bsd/sys/wait.h では、

#if     defined(_POSIX_SOURCE) && !defined(KERNEL)
        #include <sys/types.h>

        #ifdef __STDC__
                extern pid_t wait(int *stat_loc);
                extern pid_t waitpid(pid_t pid, int *stat_loc,
                        int options);
        #else
                extern pid_t wait();
                extern pid_t waitpid();
        #endif /* __STDC__ */

        #define WNOHANG         01      /* dont hang in wait */
        #define WUNTRACED       02      /* tell about stopped, */
                                        /* untraced children */


〜 中略 〜

union wait      {
        int     w_status;               /* used in syscall */
        /*
         * Terminated process status.
         */
        struct {
#if     __BIG_ENDIAN__
                unsigned short  w_PAD16;
                unsigned        w_Retcode:8;    /* exit code if w_termsig==0 */
                unsigned        w_Coredump:1;   /* core dump indicator */
                unsigned        w_Termsig:7;    /* termination signal */
#else   __BIG_ENDIAN__
                unsigned short  w_Termsig:7;    /* termination signal */
                unsigned short  w_Coredump:1;   /* core dump indicator */
                unsigned short  w_Retcode:8;    /* exit code if w_termsig==0 */
#endif  __BIG_ENDIAN__
        } w_T;

 〜またまた中略〜

#if     defined(__STDC__) && !defined(KERNEL)
        #import <sys/resource.h>
        extern int wait(union wait *);

 となってます。ですので、

#define _POSIX_SOURCE   /* ←これを追加 */

#include <sys/types.h>
#include <sys/wait.h>


#ifndef WEXITSTATUS
#define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8)
#endif
#ifndef WIFEXITED
#define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
#endif

int main() {
  int s;
  wait (&s);
  s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
 
  return 0;
}

 は問題無く動作します。_POSIX_SOURCE じゃないと union wait みたいです。


  参考までに。では。

-------------------------------------
おかもと のりゆき(Noriyuki Okamoto)
okamoto@ish.ic.kanagawa-it.ac.jp






In This Thread