📄 liblock.c
字号:
/* *---------------------------------------------------------------------- * T-Kernel / Standard Extension * * Copyright (C) 2006 by Ken Sakamura. All rights reserved. * T-Kernel / Standard Extension is distributed * under the T-License for T-Kernel / Standard Extension. *---------------------------------------------------------------------- * * Version: 1.00.00 * Released by T-Engine Forum(http://www.t-engine.org) at 2006/8/11. * *---------------------------------------------------------------------- *//* * liblock.c (libtkse) * * Exclusive control lock shared in libraries */#include <basic.h>#include <tk/typedef.h>#include <sys/libs.h>#include <extension/tkcall.h>#include <extension/util.h>#include <extension/errno.h>LOCAL BFastLock LibLock;EXPORT ER _init_liblock( void ){ if ( !_isUseMT() ) { return E_OK; } return CreateBLock(&LibLock);}EXPORT ER _lib_locktmo( W lockno, W tmo, BOOL ignore_mintr ){ ER err = E_OK; if ( !_isUseMT() ) { return err; } do { err = BMLockTmo(&LibLock, lockno, tmo); } while (( err == E_DISWAI) && !ignore_mintr ); return err;}EXPORT ER _lib_lock( W lockno, BOOL ignore_mintr ){ return _lib_locktmo(lockno, T_FOREVER, ignore_mintr);}EXPORT void _lib_unlock( W lockno ){ if ( !_isUseMT() ) { return; } (void)BMUnlock(&LibLock, lockno);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -