我正在使用AIX 6.1,我使用的程序(并参与开发)包含对C库
我遇到的问题是,
根据AIX文档,未列出
据我所知,这不需要任何文件系统空间,但我检查了文件系统的未使用文件空间和inode使用情况,这些似乎都很好,并且据我所知,有足够的可用内存(尽管如果这与此相关,则可能存在某些限制特定进程的限制),因此我不确定什么会导致
示例代码:
gettimerid()
函数的调用。我遇到的问题是,
gettimerid()
调用开始出现间歇性故障,每天可能出现一次,返回-1(表示错误),当我检查errno
时,它被设置为ENOSPC
(28d),意味着“设备上没有剩余空间”。根据AIX文档,未列出
ENOSPC
作为可能的返回值,这让我感到困惑。据我所知,这不需要任何文件系统空间,但我检查了文件系统的未使用文件空间和inode使用情况,这些似乎都很好,并且据我所知,有足够的可用内存(尽管如果这与此相关,则可能存在某些限制特定进程的限制),因此我不确定什么会导致
gettimerid()
调用返回ENOSPC
。示例代码:
static timer_t TimerId;
if ( ( TimerId = gettimerid(TIMEOFDAY, 0) ) < 0 )
{
printf( "gettimerid fail [timer id=%d, errno=%d]", TimerId, errno );
}
示例输出:
gettimerid fail [timer id=-1, errno=28]
在AIX上,gettimerid()
返回此返回码可能是由什么原因引起的呢?
printf()
函数的format
字符串中将最后一个字符设为[
(errno=%d[
),但在输出中,最后一个字符是]
(errno=28]
)。请确保输出属于你所展示的相同代码。 - H.S.oslevel -r
或类似命令)。 - Lorinczy Zsigmond-D_THREAD_SAFE
(如果必要,还需加上-pthread
)编译所有内容。 - Lorinczy Zsigmond