From 319aa8d21864980965dc7860cd5bd7a1403908cd Mon Sep 17 00:00:00 2001
From: Per Hedbor <ph@opera.com>
Date: Sun, 17 Aug 1997 17:56:32 +0200
Subject: [PATCH] Adderade 'nice'

Rev: src/modules/spider/configure.in:1.18
Rev: src/modules/spider/spider.c:1.36
---
 src/modules/spider/configure.in |  4 ++--
 src/modules/spider/spider.c     | 15 +++++++++++++++
 2 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/src/modules/spider/configure.in b/src/modules/spider/configure.in
index eafcdcf842..50789d27ef 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 66432f5974..fedbc12bd8 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
-- 
GitLab