diff --git a/ext/socket/basicsocket.c b/ext/socket/basicsocket.c index 2641b4410b..a1065608e6 100644 --- a/ext/socket/basicsocket.c +++ b/ext/socket/basicsocket.c @@ -314,6 +314,18 @@ bsock_getsockopt(VALUE sock, VALUE lev, VALUE optname) level = rsock_level_arg(family, lev); option = rsock_optname_arg(family, level, optname); len = 256; +#ifdef _AIX + switch (option) { + case SO_DEBUG: + case SO_REUSEADDR: + case SO_KEEPALIVE: + case SO_DONTROUTE: + case SO_BROADCAST: + case SO_OOBINLINE: + /* AIX doesn' set len for boolean options */ + len = sizeof(int); + } +#endif buf = ALLOCA_N(char,len); rb_io_check_closed(fptr); diff --git a/version.h b/version.h index 4154dcce55..4e0edaaf4e 100644 --- a/version.h +++ b/version.h @@ -1,10 +1,10 @@ #define RUBY_VERSION "2.5.4" -#define RUBY_RELEASE_DATE "2019-03-11" -#define RUBY_PATCHLEVEL 144 +#define RUBY_RELEASE_DATE "2019-03-12" +#define RUBY_PATCHLEVEL 145 #define RUBY_RELEASE_YEAR 2019 #define RUBY_RELEASE_MONTH 3 -#define RUBY_RELEASE_DAY 11 +#define RUBY_RELEASE_DAY 12 #include "ruby/version.h"