mirror of
https://github.com/openvswitch/ovs
synced 2025-10-25 15:07:05 +00:00
socket-util: Move get_mtime() here from stream-ssl.
An upcoming commit will add a new user for this function in another file, so export it and move it to a common library file.
This commit is contained in:
@@ -611,3 +611,31 @@ fsync_parent_dir(const char *file_name)
|
|||||||
|
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Obtains the modification time of the file named 'file_name' to the greatest
|
||||||
|
* supported precision. If successful, stores the mtime in '*mtime' and
|
||||||
|
* returns 0. On error, returns a positive errno value and stores zeros in
|
||||||
|
* '*mtime'. */
|
||||||
|
int
|
||||||
|
get_mtime(const char *file_name, struct timespec *mtime)
|
||||||
|
{
|
||||||
|
struct stat s;
|
||||||
|
|
||||||
|
if (!stat(file_name, &s)) {
|
||||||
|
mtime->tv_sec = s.st_mtime;
|
||||||
|
|
||||||
|
#if HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC
|
||||||
|
mtime->tv_nsec = s.st_mtim.tv_nsec;
|
||||||
|
#elif HAVE_STRUCT_STAT_ST_MTIMENSEC
|
||||||
|
mtime->tv_nsec = s.st_mtimensec;
|
||||||
|
#else
|
||||||
|
mtime->tv_nsec = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
} else {
|
||||||
|
mtime->tv_sec = mtime->tv_nsec = 0;
|
||||||
|
return errno;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -45,5 +45,6 @@ int read_fully(int fd, void *, size_t, size_t *bytes_read);
|
|||||||
int write_fully(int fd, const void *, size_t, size_t *bytes_written);
|
int write_fully(int fd, const void *, size_t, size_t *bytes_written);
|
||||||
|
|
||||||
int fsync_parent_dir(const char *file_name);
|
int fsync_parent_dir(const char *file_name);
|
||||||
|
int get_mtime(const char *file_name, struct timespec *mtime);
|
||||||
|
|
||||||
#endif /* socket-util.h */
|
#endif /* socket-util.h */
|
||||||
|
|||||||
@@ -37,7 +37,6 @@
|
|||||||
#include "packets.h"
|
#include "packets.h"
|
||||||
#include "poll-loop.h"
|
#include "poll-loop.h"
|
||||||
#include "socket-util.h"
|
#include "socket-util.h"
|
||||||
#include "socket-util.h"
|
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
#include "stream-provider.h"
|
#include "stream-provider.h"
|
||||||
#include "stream.h"
|
#include "stream.h"
|
||||||
@@ -915,26 +914,6 @@ stream_ssl_is_configured(void)
|
|||||||
return private_key.file_name || certificate.file_name || ca_cert.file_name;
|
return private_key.file_name || certificate.file_name || ca_cert.file_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
get_mtime(const char *file_name, struct timespec *mtime)
|
|
||||||
{
|
|
||||||
struct stat s;
|
|
||||||
|
|
||||||
if (!stat(file_name, &s)) {
|
|
||||||
mtime->tv_sec = s.st_mtime;
|
|
||||||
|
|
||||||
#if HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC
|
|
||||||
mtime->tv_nsec = s.st_mtim.tv_nsec;
|
|
||||||
#elif HAVE_STRUCT_STAT_ST_MTIMENSEC
|
|
||||||
mtime->tv_nsec = s.st_mtimensec;
|
|
||||||
#else
|
|
||||||
mtime->tv_nsec = 0;
|
|
||||||
#endif
|
|
||||||
} else {
|
|
||||||
mtime->tv_sec = mtime->tv_nsec = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
update_ssl_config(struct ssl_config_file *config, const char *file_name)
|
update_ssl_config(struct ssl_config_file *config, const char *file_name)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user