*参照元 [#x6c92335]
#backlinks

*説明 [#zaa990ab]
-パス: [[linux-2.6.33/sound/core/pcm_native.c]]

-FIXME: これは何?
--説明


**引数 [#z4ec54ba]
-struct action_ops *ops
--
--[[linux-2.6.33/action_ops]]
-struct snd_pcm_substream *substream
--
--[[linux-2.6.33/snd_pcm_substream]]
-int state
--


**返り値 [#yc47932e]
-int
--


**参考 [#mba5ee25]


*実装 [#da59b91d]
 /*
  *  Note: don't use any locks before
  */
 static int snd_pcm_action_lock_irq(struct action_ops *ops,
 				   struct snd_pcm_substream *substream,
 				   int state)
 {
 	int res;
 
 	read_lock_irq(&snd_pcm_link_rwlock);
-
--[[linux-2.6.33/read_lock_irq()]]

 	if (snd_pcm_stream_linked(substream)) {
-
--[[linux-2.6.33/snd_pcm_stream_linked()]]

 		spin_lock(&substream->group->lock);
 		spin_lock(&substream->self_group.lock);
-
--[[linux-2.6.33/spin_lock()]]

 		res = snd_pcm_action_group(ops, substream, state, 1);
-
--[[linux-2.6.33/snd_pcm_action_group()]]

 		spin_unlock(&substream->self_group.lock);
 		spin_unlock(&substream->group->lock);
-
--[[linux-2.6.33/spin_unlock()]]

 	} else {
 		spin_lock(&substream->self_group.lock);
 		res = snd_pcm_action_single(ops, substream, state);
 		spin_unlock(&substream->self_group.lock);
-
--[[linux-2.6.33/snd_pcm_action_single()]]

 	}
 	read_unlock_irq(&snd_pcm_link_rwlock);
-
--[[linux-2.6.33/read_unlock_irq()]]

 	return res;
 }


*コメント [#xb66bcbf]


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS