solaris fixes
This commit is contained in:
parent
2e9a743da0
commit
22ec2db413
@ -32,7 +32,7 @@ CPPFLAGS += -D_FILE_OFFSET_BITS=64
|
|||||||
ifeq (SunOS,$(uname_S))
|
ifeq (SunOS,$(uname_S))
|
||||||
EV_CONFIG=config_sunos.h
|
EV_CONFIG=config_sunos.h
|
||||||
EIO_CONFIG=config_sunos.h
|
EIO_CONFIG=config_sunos.h
|
||||||
CPPFLAGS += -Isrc/ares/config_sunos
|
CPPFLAGS += -Isrc/ares/config_sunos -D__EXTENSIONS__
|
||||||
LINKFLAGS+=-lsocket -lnsl
|
LINKFLAGS+=-lsocket -lnsl
|
||||||
UV_OS_FILE=uv-sunos.c
|
UV_OS_FILE=uv-sunos.c
|
||||||
endif
|
endif
|
||||||
|
|||||||
@ -65,6 +65,7 @@
|
|||||||
extern char **environ;
|
extern char **environ;
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
#define LOCKFILE_SUFFIX ".lock"
|
||||||
|
|
||||||
static uv_err_t last_err;
|
static uv_err_t last_err;
|
||||||
|
|
||||||
@ -2236,6 +2237,7 @@ size_t uv__strlcpy(char* dst, const char* src, size_t size) {
|
|||||||
|
|
||||||
uv_stream_t* uv_std_handle(uv_std_type type) {
|
uv_stream_t* uv_std_handle(uv_std_type type) {
|
||||||
assert(0 && "implement me");
|
assert(0 && "implement me");
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -2412,7 +2414,6 @@ int uv_process_kill(uv_process_t* process, int signum) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#define LOCKFILE_SUFFIX ".lock"
|
|
||||||
int uv_flock_init(uv_flock_t* lock, const char* filename) {
|
int uv_flock_init(uv_flock_t* lock, const char* filename) {
|
||||||
int saved_errno;
|
int saved_errno;
|
||||||
int status;
|
int status;
|
||||||
@ -2437,10 +2438,10 @@ out:
|
|||||||
errno = saved_errno;
|
errno = saved_errno;
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
#undef LOCKFILE_SUFFIX
|
|
||||||
|
|
||||||
|
|
||||||
int uv_flock_acquire(uv_flock_t* lock, int* locked_p) {
|
int uv_flock_acquire(uv_flock_t* lock, int* locked_p) {
|
||||||
|
struct flock fl;
|
||||||
char buf[32];
|
char buf[32];
|
||||||
int saved_errno;
|
int saved_errno;
|
||||||
int status;
|
int status;
|
||||||
@ -2461,8 +2462,15 @@ int uv_flock_acquire(uv_flock_t* lock, int* locked_p) {
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
fl.l_type = F_WRLCK;
|
||||||
|
fl.l_whence = SEEK_SET;
|
||||||
|
fl.l_start = 0;
|
||||||
|
fl.l_len = 0;
|
||||||
|
fl.l_pid = getpid();
|
||||||
|
|
||||||
do {
|
do {
|
||||||
status = flock(lockfd, LOCK_EX | LOCK_NB);
|
status = fcntl(lockfd, F_SETLKW, &fl);
|
||||||
}
|
}
|
||||||
while (status == -1 && errno == EINTR);
|
while (status == -1 && errno == EINTR);
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user