Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 Jan 2010 08:45:22 +0000 (UTC)
From:      Kip Macy <kmacy@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r202877 - user/kmacy/releng_8_rump/lib/libunet/unet_sys
Message-ID:  <201001230845.o0N8jM2f052673@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kmacy
Date: Sat Jan 23 08:45:22 2010
New Revision: 202877
URL: http://svn.freebsd.org/changeset/base/202877

Log:
  emulate kproc_kthread_add

Modified:
  user/kmacy/releng_8_rump/lib/libunet/unet_sys/unet_compat.c
  user/kmacy/releng_8_rump/lib/libunet/unet_sys/unet_kern_intr.c

Modified: user/kmacy/releng_8_rump/lib/libunet/unet_sys/unet_compat.c
==============================================================================
--- user/kmacy/releng_8_rump/lib/libunet/unet_sys/unet_compat.c	Sat Jan 23 08:43:21 2010	(r202876)
+++ user/kmacy/releng_8_rump/lib/libunet/unet_sys/unet_compat.c	Sat Jan 23 08:45:22 2010	(r202877)
@@ -6,7 +6,10 @@
 #include <sys/refcount.h>
 #include <sys/ucred.h>
 #include <sys/time.h>
+#include <sys/proc.h>
 
+
+#include <pthread.h>
 struct malloc_type;
 
 vm_offset_t kmem_malloc(void * map, int bytes, int wait);
@@ -95,5 +98,20 @@ getmicrotime(struct timeval *tvp)
 	gettimeofday(&tv, NULL);
 }
 
+int
+kproc_kthread_add(void (*start_routine)(void *), void *arg,
+    struct proc **p,  struct thread **td,
+    int flags, int pages,
+    char * procname, const char *str, ...)
+{
+	int error;
+	pthread_t thread;
+	pthread_attr_t attr;
 
+	*td = malloc(sizeof(struct thread));
+	pthread_attr_init(&attr);
+	
+	error = pthread_create(&thread, &attr, start_routine, arg);
 
+	return (error);
+}

Modified: user/kmacy/releng_8_rump/lib/libunet/unet_sys/unet_kern_intr.c
==============================================================================
--- user/kmacy/releng_8_rump/lib/libunet/unet_sys/unet_kern_intr.c	Sat Jan 23 08:43:21 2010	(r202876)
+++ user/kmacy/releng_8_rump/lib/libunet/unet_sys/unet_kern_intr.c	Sat Jan 23 08:45:22 2010	(r202877)
@@ -361,15 +361,16 @@ ithread_create(const char *name)
 
 	ithd = malloc(sizeof(struct intr_thread), M_ITHREAD, M_WAITOK | M_ZERO);
 
-#ifdef notyet
 	error = kproc_kthread_add(ithread_loop, ithd, &intrproc,
 		    &td, RFSTOPPED | RFHIGHPID,
 	    	    0, "intr", "%s", name);
+
+	
 	if (error)
 		panic("kproc_create() failed with %d", error);
 	td->td_pflags |= TDP_ITHREAD;
 	ithd->it_thread = td;
-#endif	
+
 	CTR2(KTR_INTR, "%s: created %s", __func__, name);
 	return (ithd);
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001230845.o0N8jM2f052673>