Beispiel #1
0
static int winfs_utimens(struct file *f, const struct timespec *times)
{
    struct winfs_file *winfs = (struct winfs_file *)f;
    if (!times)
    {
        SYSTEMTIME time;
        GetSystemTime(&time);
        FILETIME filetime;
        SystemTimeToFileTime(&time, &filetime);
        SetFileTime(winfs->handle, NULL, &filetime, &filetime);
    }
    else
    {
        FILETIME actime, modtime;
        unix_timespec_to_filetime(&times[0], &actime);
        unix_timespec_to_filetime(&times[1], &modtime);
        SetFileTime(winfs->handle, NULL, &actime, &modtime);
    }
    return 0;
}
Beispiel #2
0
static int winfs_utimens(struct file *f, const struct timespec *times)
{
	AcquireSRWLockShared(&f->rw_lock);
	struct winfs_file *winfs = (struct winfs_file *)f;
	if (!times)
	{
		SYSTEMTIME time;
		GetSystemTime(&time);
		FILETIME filetime;
		SystemTimeToFileTime(&time, &filetime);
		SetFileTime(winfs->handle, NULL, &filetime, &filetime);
	}
	else
	{
		FILETIME actime, modtime;
		unix_timespec_to_filetime(&times[0], &actime);
		unix_timespec_to_filetime(&times[1], &modtime);
		SetFileTime(winfs->handle, NULL, &actime, &modtime);
	}
	ReleaseSRWLockShared(&f->rw_lock);
	return 0;
}