source: GPL/branches/uniaud32-next/lib32/waitqueue.c@ 615

Last change on this file since 615 was 615, checked in by Paul Smedley, 5 years ago

Add source for uniaud32 based on code from linux kernel 5.4.86

File size: 4.9 KB
Line 
1/* $Id: waitqueue.c,v 1.1.1.1 2003/07/02 13:57:04 eleph Exp $ */
2/*
3 * OS/2 implementation of Linux wait queue kernel services (stubs)
4 *
5 * (C) 2000-2002 InnoTek Systemberatung GmbH
6 * (C) 2000-2001 Sander van Leeuwen (sandervl@xs4all.nl)
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License as
10 * published by the Free Software Foundation; either version 2 of
11 * the License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public
19 * License along with this program; if not, write to the Free
20 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
21 * USA.
22 *
23 */
24
25#include "linux.h"
26#include <linux/init.h>
27#include <linux/poll.h>
28#include <asm/uaccess.h>
29#include <asm/hardirq.h>
30#include <dbgos2.h>
31
32//******************************************************************************
33//******************************************************************************
34void init_waitqueue_head(wait_queue_head_t *q)
35{
36// dprintf(("WARNING: init_waitqueue_head STUB"));
37}
38//******************************************************************************
39//******************************************************************************
40void add_wait_queue(struct wait_queue_head *q, struct wait_queue_entry * wait)
41{
42// dprintf3(("WARNING: add_wait_queue STUB"));
43}
44//******************************************************************************
45//******************************************************************************
46void add_wait_queue_exclusive(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry)
47{
48// dprintf3(("WARNING: add_wait_queue_exclusive STUB"));
49}
50//******************************************************************************
51//******************************************************************************
52void remove_wait_queue(struct wait_queue_head *q, struct wait_queue_entry * wait)
53{
54// dprintf(("WARNING: remove_wait_queue STUB"));
55}
56//******************************************************************************
57//******************************************************************************
58long interruptible_sleep_on_timeout(wait_queue_head_t *q, signed long timeout)
59{
60 dprintf(("WARNING: interruptible_sleep_on_timeout STUB"));
61 return 1;
62}
63//******************************************************************************
64//******************************************************************************
65void interruptible_sleep_on(wait_queue_head_t *q)
66{
67 dprintf(("WARNING: interruptible_sleep_on STUB"));
68}
69//******************************************************************************
70//******************************************************************************
71void __wake_up(wait_queue_head_t *q, unsigned int mode)
72{
73 dprintf3(("WARNING: __wake_up STUB"));
74}
75//******************************************************************************
76//******************************************************************************
77void init_waitqueue_entry(struct wait_queue_entry *wq_entry, struct task_struct *p)
78{
79// dprintf(("WARNING: init_waitqueue_entry STUB"));
80}
81//******************************************************************************
82//******************************************************************************
83int waitqueue_active(wait_queue_head_t *q)
84{
85// dprintf(("WARNING: waitqueue_active STUB"));
86 return 0;
87}
88//******************************************************************************
89//******************************************************************************
90/**
91 * complete: - signals a single thread waiting on this completion
92 * @x: holds the state of this particular completion
93 *
94 * This will wake up a single thread waiting on this completion. Threads will be
95 * awakened in the same order in which they were queued.
96 *
97 * See also complete_all(), wait_for_completion() and related routines.
98 *
99 * It may be assumed that this function implies a write memory barrier before
100 * changing the task state if and only if any tasks are woken up.
101 */
102void complete(struct completion *x)
103{
104 unsigned long flags;
105
106 spin_lock_irqsave(&x->wait.lock, flags);
107 x->done++;
108 __wake_up_locked(&x->wait, TASK_NORMAL, 1);
109 spin_unlock_irqrestore(&x->wait.lock, flags);
110}
111//******************************************************************************
112//******************************************************************************
113void __wake_up_locked(wait_queue_head_t *q, unsigned int mode, int nr)
114{
115 dprintf3(("WARNING: __wake_up_locked STUB"));
116}
Note: See TracBrowser for help on using the repository browser.