[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

BOUNCE rtl@rtlinux.org: Approval required: Non-member submissionfrom [root <agn@city.dk>] (fwd)



>From owner-rtl Sun May 20 05:48:32 2001
Received: from kalman.iau.dtu.dk (kalman.iau.dtu.dk [192.38.66.22])
	by hq.fsmlabs.com (8.11.2/8.11.2) with ESMTP id f4KBmTr11719
	for <rtl@rtlinux.org>; Sun, 20 May 2001 05:48:31 -0600
Received: from city.dk (IDENT:root@xterm39 [192.38.66.79])
	by kalman.iau.dtu.dk (8.9.3/8.9.3) with ESMTP id NAA01231
	for <rtl@rtlinux.org>; Sun, 20 May 2001 13:43:21 +0200
Sender: root@kalman.iau.dtu.dk
Message-ID: <3B07AE23.F833430@city.dk>
Date: Sun, 20 May 2001 13:44:35 +0200
From: root <agn@city.dk>
X-Mailer: Mozilla 4.76 [en] (X11; U; Linux 2.4.1-rtl i686)
X-Accept-Language: en
MIME-Version: 1.0
To: rtlinux <rtl@rtlinux.org>
Subject: general question about nanosleep, usleep, semaphores and other waits.
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hi all
This is a general question.

When using nanosleep, sem_wait, usleep etc. in RT - threds these
funktion is performed as sleep. it meens the thread is suspended until
the wakeuptime ore call to sem_post from other thred. thats fine.

But what happens withe these funktions is called from a fifo handler or
in init_module. I know that nanosleep is busy wait, but what about fx.
sem_wait funktion. My first gees is busy wait. The reason for this is
the struct
truct rtl_sem_struct
{
        int value;
        spinlock_t lock;    <- busy wait, handled differently if called
if thread
        rtl_wait_t wait;
};
and my own test.

I think that it is importent to state the mode of the funktions. it
could cause a freese.
So if anybody know the ansvar please reply

Anders Gnistrup.

ps.
I think that the question is of general interrest.