summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorTomoyuki Sahara <[email protected]>2013-05-21 14:13:15 +0900
committerTomoyuki Sahara <[email protected]>2013-05-21 14:13:15 +0900
commitb8912c35084c515b2cd8b1011d4e754adc808571 (patch)
tree890785a031b15fbc31a6f9a2e38f85699d55709e
parent4bebd4d70f6ac45819cf8cf6055c62993a4138e3 (diff)
downloadmruby-b8912c35084c515b2cd8b1011d4e754adc808571.tar.gz
mruby-b8912c35084c515b2cd8b1011d4e754adc808571.zip
Linux does not have getpeereid(2).
-rw-r--r--src/socket.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/socket.c b/src/socket.c
index ea5fa5543..db053cdf2 100644
--- a/src/socket.c
+++ b/src/socket.c
@@ -193,6 +193,7 @@ socket_family(int s)
static mrb_value
mrb_basicsocket_getpeereid(mrb_state *mrb, mrb_value self)
{
+#ifdef HAVE_GETPEEREID
mrb_value ary;
gid_t egid;
uid_t euid;
@@ -206,6 +207,10 @@ mrb_basicsocket_getpeereid(mrb_state *mrb, mrb_value self)
mrb_ary_push(mrb, ary, mrb_fixnum_value((mrb_int)euid));
mrb_ary_push(mrb, ary, mrb_fixnum_value((mrb_int)egid));
return ary;
+#else
+ mrb_raise(mrb, E_RUNTIME_ERROR, "getpeereid is not avaialble on this system");
+ return mrb_nil_value();
+#endif
}
static mrb_value