commiting:
    0000028 03-16-05 patch: new setsid applet

diff --git a/miscutils/Config.in b/miscutils/Config.in
index 69a3300..6c68cd0 100644
--- a/miscutils/Config.in
+++ b/miscutils/Config.in
@@ -215,6 +215,12 @@
 	  strings prints the printable character sequences for each file
 	  specified.
 
+config CONFIG_SETSID
+	bool "setsid"
+	default n
+	help
+	  setsid runs a program in a new session
+
 config CONFIG_TIME
 	bool "time"
 	default n
diff --git a/miscutils/Makefile.in b/miscutils/Makefile.in
index d4c5ff7..8c53104 100644
--- a/miscutils/Makefile.in
+++ b/miscutils/Makefile.in
@@ -36,6 +36,7 @@
 MISCUTILS-$(CONFIG_MAKEDEVS)    += makedevs.o
 MISCUTILS-$(CONFIG_MT)          += mt.o
 MISCUTILS-$(CONFIG_RX)          += rx.o
+MISCUTILS-$(CONFIG_SETSID)      += setsid.o
 MISCUTILS-$(CONFIG_STRINGS)     += strings.o
 MISCUTILS-$(CONFIG_TIME)        += time.o
 MISCUTILS-$(CONFIG_WATCHDOG)    += watchdog.o
diff --git a/miscutils/setsid.c b/miscutils/setsid.c
new file mode 100644
index 0000000..7df35be
--- /dev/null
+++ b/miscutils/setsid.c
@@ -0,0 +1,46 @@
+/*
+ * setsid.c -- execute a command in a new session
+ * Rick Sladkey <jrs@world.std.com>
+ * In the public domain.
+ *
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ *
+ * 2001-01-18 John Fremlin <vii@penguinpowered.com>
+ * - fork in case we are process group leader
+ *
+ * 2004-11-12 Paul Fox
+ * - busyboxed
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include "busybox.h"
+
+int
+setsid_main(int argc, char *argv[]) {
+	
+	if (argc < 2) {
+		bb_show_usage();
+	}
+
+	if (getpgrp() == getpid()) {
+		switch(fork()){
+		case -1:
+			bb_perror_msg_and_die("fork");
+		case 0:
+			break;
+		default:	/* parent */
+			exit(0);
+		}
+		/* child falls through */
+	}
+
+	setsid();  /* no error possible */
+
+	execvp(argv[1], argv + 1);
+
+	bb_perror_msg_and_die(argv[1]);
+
+}