*参照元 [#g67a5ffd]
#backlinks

*説明 [#o994ffc7]
-パス: [[alsa-lib-1.0.27.2/include/local.h]]

-FIXME: これは何?
--説明
-close-on-exec フラグを立てて open する。
--resmgr が有効の場合、resmgr を経由してファイルを開こうとする。
--アクセス権がないエラーを回避するため?resmgr ってなんだろ SUSE 由来?


**引数 [#z4d8d2bc]
-const char *filename
--
--open するファイル名
-int fmode
--
--アクセスモード、フラグ。open の第二引数と同じ。


**返り値 [#s1d43a57]
-int
--
--ファイルディスクリプタを返す。エラーの場合は -1 を返す。


**参考 [#w953eb42]


*実装 [#g0a79e9a]
 static inline int snd_open_device(const char *filename, int fmode)
 {
 	int fd;
 
 #ifdef O_CLOEXEC
 	fmode |= O_CLOEXEC;
 #endif
 	fd = open(filename, fmode);
 
 /* open with resmgr */
 #ifdef SUPPORT_RESMGR
 	if (fd < 0) {
 		if (errno == EAGAIN || errno == EBUSY)
 			return fd;
 		if (! access(filename, F_OK))
 			fd = rsm_open_device(filename, fmode);
 	}
 #endif
 	if (fd >= 0)
 		fcntl(fd, F_SETFD, FD_CLOEXEC);
 	return fd;
 }

*コメント [#oc17e056]

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