ext/sysconf/sysconf.c in linux_stat-0.7.5 vs ext/sysconf/sysconf.c in linux_stat-0.8.0
- old
+ new
@@ -1,10 +1,15 @@
#include <unistd.h>
#include "ruby.h"
-#pragma GCC optimize ("O3")
-#pragma clang optimize on
+#ifdef __GNUC__
+ #pragma GCC optimize ("O3")
+ #pragma GCC diagnostic warning "-Wall"
+#elif __clang__
+ #pragma clang optimize on
+ #pragma clang diagnostic warning "-Wall"
+#endif
static VALUE getTick(VALUE obj) {
return INT2FIX(sysconf(_SC_CLK_TCK)) ;
}
@@ -38,10 +43,26 @@
static VALUE getPosixVersion(VALUE obj) {
return INT2FIX(sysconf(_SC_VERSION)) ;
}
+static VALUE getLineMax(VALUE obj) {
+ return INT2FIX(sysconf(_SC_LINE_MAX)) ;
+}
+
+static VALUE getExprNestMax(VALUE obj) {
+ return INT2FIX(sysconf(_SC_EXPR_NEST_MAX)) ;
+}
+
+VALUE getProcessorConfigured(VALUE obj) {
+ return INT2FIX(sysconf(_SC_NPROCESSORS_CONF)) ;
+}
+
+VALUE getProcessorOnline(VALUE obj) {
+ return INT2FIX(sysconf(_SC_NPROCESSORS_ONLN)) ;
+}
+
static VALUE getUser(VALUE obj) {
char *name = getlogin() ;
return name ? rb_str_new_cstr(name) : rb_str_new_cstr("") ;
}
@@ -68,9 +89,14 @@
rb_define_module_function(_sysconf, "open_max", getOpenMax, 0) ;
rb_define_module_function(_sysconf, "pagesize", getPageSize, 0) ;
rb_define_module_function(_sysconf, "stream_max", getStreamMax, 0) ;
rb_define_module_function(_sysconf, "tty_name_max", getTTYNameMax, 0) ;
rb_define_module_function(_sysconf, "posix_version", getPosixVersion, 0) ;
+ rb_define_module_function(_sysconf, "line_max", getLineMax, 0) ;
+ rb_define_module_function(_sysconf, "expr_nest_max", getExprNestMax, 0) ;
+
+ rb_define_module_function(_sysconf, "processor_online", getProcessorOnline, 0) ;
+ rb_define_module_function(_sysconf, "processor_configured", getProcessorConfigured, 0) ;
rb_define_module_function(_sysconf, "get_uid", getUID, 0) ;
rb_define_module_function(_sysconf, "get_gid", getGID, 0) ;
rb_define_module_function(_sysconf, "get_euid", getEUID, 0) ;