glibc源码分析之utime系列函数

glibc中关于utime的函数有utime,utimes。它们都是系统调用的封装函数。
utime函数由脚本生成。生成的.S文件的内容为:

#define SYSCALL_NAME utime
#define SYSCALL_NARGS 2
#define SYSCALL_SYMBOL utime
#define SYSCALL_CANCELLABLE 0
#define SYSCALL_NOERRNO 0
#define SYSCALL_ERRVAL 0
#include <syscall-template.S>

utime函数封装了utime系统调用。

utimes函数则是.c文件。文件位于sysdeps/unix/sysv/linux/utimes.c。
文件内容为:

int
__utimes (const char *file, const struct timeval tvp[2])
{
  /* Avoid implicit array coercion in syscall macros.  */
  return INLINE_SYSCALL (utimes, 2, file, &tvp[0]);
}

weak_alias (__utimes, utimes)

__utimes 函数封装了utimes系统调用。

发布了185 篇原创文章 · 获赞 18 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/pk_20140716/article/details/77265154