1 /* 2 * Copyright (c) 2010 Kip Macy. All rights reserved. 3 * Copyright (C) 2017 THL A29 Limited, a Tencent company. 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are met: 8 * 9 * 1. Redistributions of source code must retain the above copyright notice, this 10 * list of conditions and the following disclaimer. 11 * 2. Redistributions in binary form must reproduce the above copyright notice, 12 * this list of conditions and the following disclaimer in the documentation 13 * and/or other materials provided with the distribution. 14 * 15 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 16 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 19 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 22 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 * 26 * Derived in part from libplebnet's pn_kern_condvar.c. 27 */ 28 29 #include <sys/cdefs.h> 30 __FBSDID("$FreeBSD$"); 31 32 #include "opt_ktrace.h" 33 34 #include <sys/param.h> 35 #include <sys/systm.h> 36 #include <sys/lock.h> 37 #include <sys/mutex.h> 38 #include <sys/proc.h> 39 #include <sys/kernel.h> 40 #include <sys/ktr.h> 41 #include <sys/condvar.h> 42 #include <sys/sched.h> 43 #include <sys/signalvar.h> 44 #include <sys/sleepqueue.h> 45 #include <sys/resourcevar.h> 46 47 void 48 cv_init(struct cv *cvp, const char *desc) 49 { 50 cvp->cv_description = desc; 51 } 52 53 void 54 cv_destroy(struct cv *cvp) 55 { 56 57 } 58 59 void 60 _cv_wait(struct cv *cvp, struct lock_object *lock) 61 { 62 63 } 64 65 void 66 _cv_wait_unlock(struct cv *cvp, struct lock_object *lock) 67 { 68 69 } 70 71 int 72 _cv_wait_sig(struct cv *cvp, struct lock_object *lock) 73 { 74 return (0); 75 } 76 77 int 78 _cv_timedwait(struct cv *cvp, struct lock_object *lock, int timo) 79 { 80 return (0); 81 } 82 83 int 84 _cv_timedwait_sig(struct cv *cvp, struct lock_object *lock, int timo) 85 { 86 return (0); 87 } 88 89 int 90 _cv_timedwait_sig_sbt(struct cv *cvp, struct lock_object *lock, 91 sbintime_t sbt, sbintime_t pr, int flags) 92 { 93 return (0); 94 } 95 96 void 97 cv_signal(struct cv *cvp) 98 { 99 100 } 101 102 void 103 cv_broadcastpri(struct cv *cvp, int pri) 104 { 105 106 } 107