[LINUX:27574] Re: Linux'te Sleep wakeup mekanizması?

---------

New Message Reply About this list Date view Thread view Subject view Author view

From: Gokhan Sozmen USG (sozmen@zk3.dec.com)
Date: Sun 06 May 2001 - 04:04:58 EEST


>
> Merhaba,
> KHG'yi okurken bazı şeyleri çözemedim ve bu konuda sizlere danışmak istedim.
> Yerini de söyleyim khg de basics.html'de yazıyor.
> KHG' de linux ta uygulanan sleep wakeup sistemi ile ilgili bu fonksyonu
> vermişler.
>
> ------------------------------
> static inline void __sleep_on(struct wait_queue **p, int state){
> unsigned long flags;
> struct wait_queue wait = { current, NULL };
> if (!p)
> return;
> if (current == task[0])
> panic("task[0] trying to sleep");
> current->state = state;
> add_wait_queue(p, &wait);
> save_flags(flags);
> sti();
> schedule();
> remove_wait_queue(p, &wait);
> restore_flags(flags);
> }
> ------------------------------
> Benim anlayamadığım kısıma gelince.
> Aşagıda verdilen __sleep_on fonksyonunda.
> add_wait_queue() fonksyonunu çağırdıktan sonra
> schedule() ile başka bir process'i çalışmaya aldığını söylüyor.
> Ve sonra aynı process'i nedense wait queue den kaldırıyor.
> Neden process'i wait queue'den kaldırıyor. benim düşünceme göre o
> process bir sinyal ya da interrupt geldiğinde wait queden
> kaldırılması gerekiyor.
> Not: "current" değişkeni sadece scheduler tarafından değiştirlen, o anda
> çalışan process'i gösteren global bir değişkenmiş. Fakta "tasks[0]" ile neyi
> ifade ettiği hakkından bir şey görmedim.
>
> Yardımlarınız için şimdiden teşekkürler
> Saygılar.
> A. Tunca TUNÇ
>
>

schedule() dan wakeup cagirilana kadar geri donmuyorsun da ondan.

Selamlar,
Gokhan Sozmen
>
> Listeden cikmak icin:
> unsub linux
> mesajini listeci@bilkent.edu.tr adresine gonderiniz.
> Lutfen Listeci icin MIME / HTML / Turkce Aksan kullanmayin.
> Listeci arayuzu: http://listweb.bilkent.edu.tr/yardim/bilkent/linux.html
> Liste arsivinin adresi: http://listweb.bilkent.edu.tr/
>
>

 
 Listeden cikmak icin:
          unsub linux
 mesajini listeci@bilkent.edu.tr adresine gonderiniz.
   Lutfen Listeci icin MIME / HTML / Turkce Aksan kullanmayin.
 Listeci arayuzu: http://listweb.bilkent.edu.tr/yardim/bilkent/linux.html
 Liste arsivinin adresi: http://listweb.bilkent.edu.tr/


New Message Reply About this list Date view Thread view Subject view Author view

---------

Bu arsiv hypermail 2b29 tarafindan uretilmistir.