소스 검색

- moved sched_yield() wrapper into sched_yield.h at Miklos's request.

Andrei Pelinescu-Onciul 18 년 전
부모
커밋
a83e261254
3개의 변경된 파일45개의 추가작업 그리고 19개의 파일을 삭제
  1. 1 8
      fastlock.h
  2. 43 0
      sched_yield.h
  3. 1 11
      timer.c

+ 1 - 8
fastlock.h

@@ -63,14 +63,7 @@
 #ifndef fastlock_h
 #ifndef fastlock_h
 #define fastlock_h
 #define fastlock_h
 
 
-#ifdef HAVE_SCHED_YIELD
-#include <sched.h>
-#else
-#include <unistd.h>
-	/* fake sched_yield */
-	#define sched_yield()	sleep(0)
-#endif
-
+#include "sched_yield.h"
 
 
 
 
 #define SPIN_OPTIMIZE /* if defined optimize spining on the lock:
 #define SPIN_OPTIMIZE /* if defined optimize spining on the lock:

+ 43 - 0
sched_yield.h

@@ -0,0 +1,43 @@
+/*
+ * sched_yield wrapper
+ *
+ * $Id$
+ *
+ * 
+ *
+ * Copyright (C) 2001-2003 FhG Fokus
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+/*
+ *
+ *History:
+ *--------
+ *  2007-07-13  splitted from fastlock.h (andrei)
+ */
+
+
+#ifndef _sched_yield_h
+#define _sched_yield_h
+
+#ifdef HAVE_SCHED_YIELD
+#include <sched.h>
+#else
+#include <unistd.h>
+	/* fake sched_yield */
+#ifndef sched_yield()
+	#define sched_yield()	sleep(0)
+#endif
+#endif
+
+#endif /* _sched_yield_h */

+ 1 - 11
timer.c

@@ -59,17 +59,7 @@
 #include "mem/shm_mem.h"
 #include "mem/shm_mem.h"
 #endif
 #endif
 #include "locking.h"
 #include "locking.h"
-
-#ifdef HAVE_SCHED_YIELD
-#include <sched.h>
-#else
-#include <unistd.h>
-	/* fake sched_yield */
-#ifndef sched_yield()
-#define sched_yield()	sleep(0)
-#endif
-#endif
-
+#include "sched_yield.h"
 
 
 
 
 /* how often will the timer handler be called (in ticks) */
 /* how often will the timer handler be called (in ticks) */