diff --git a/src/modules/spider/configure.in b/src/modules/spider/configure.in index eafcdcf8426f14a088198adaefd59dd1de8b7262..50789d27effd5f37507920932e87cbf8193b960c 100644 --- a/src/modules/spider/configure.in +++ b/src/modules/spider/configure.in @@ -10,11 +10,11 @@ AC_CHECK_LIB(nsl, gethostbyname) AC_HAVE_HEADERS(arpa/inet.h sys/socketvar.h sys/protosw.h \ netinet/in.h sys/mman.h sys/utsname.h netdb.h sys/socket.h \ sync.h sys/sockio.h sys/conf.h stropts.h \ - sys/uio.h linux/mman.h sys/stream.h) + sys/uio.h linux/mman.h sys/stream.h unistd.h) AC_FUNC_MMAP -AC_HAVE_FUNCS(perror strdup sendmsg) +AC_HAVE_FUNCS(perror strdup sendmsg nice) AC_CHECK_TYPE(time_t, long) diff --git a/src/modules/spider/spider.c b/src/modules/spider/spider.c index 66432f5974c58fe1aaa30cca7651c34018e38715..fedbc12bd8acda3a0684decaeea96dc28ee7d0c8 100644 --- a/src/modules/spider/spider.c +++ b/src/modules/spider/spider.c @@ -22,6 +22,10 @@ #include <sys/time.h> #endif +#if HAVE_UNISTD_H +#include <unistd.h> +#endif + #include "stralloc.h" #include "global.h" #include "pike_macros.h" @@ -91,6 +95,16 @@ void do_html_parse_lines(struct pike_string *ss, extern void f_parse_tree(INT32 argc); + +void f_nice(INT32 args) +{ +#ifdef HAVE_NICE + int ta = sp[-1].u.integer; + if(!args) error("You must supply an argument to nice(int)!\n"); + push_int(nice(ta)); +#endif +} + void f_http_decode_string(INT32 args) { int proc; @@ -1265,6 +1279,7 @@ void pike_module_init(void) add_efun("timezone", f_timezone, "function(:int)", 0); add_efun("get_all_active_fd", f_get_all_active_fd, "function(:array(int))", OPT_EXTERNAL_DEPEND); + add_efun("nice", f_nice, "function(int:int)", 0); #if 0 add_efun("name_process", f_name_process, "function(string:void)", 0); #endif