Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
hiredis
Commits
ab1762cd
Commit
ab1762cd
authored
Aug 12, 2019
by
Sangmoon Yi
Browse files
fix timeout code in windows
parent
f5f855c9
Changes
1
Hide whitespace changes
Inline
Side-by-side
net.c
View file @
ab1762cd
...
...
@@ -310,11 +310,18 @@ int redisCheckSocketError(redisContext *c) {
}
int
redisContextSetTimeout
(
redisContext
*
c
,
const
struct
timeval
tv
)
{
if
(
setsockopt
(
c
->
fd
,
SOL_SOCKET
,
SO_RCVTIMEO
,
&
tv
,
sizeof
(
tv
))
==
-
1
)
{
const
void
*
to_ptr
=
&
tv
;
size_t
to_sz
=
sizeof
(
tv
);
#ifdef _WIN32
DWORD
timeout_msec
=
tv
.
tv_sec
*
1000
+
tv
.
tv_usec
/
1000
;
to_ptr
=
&
timeout_msec
;
to_sz
=
sizeof
(
timeout_msec
);
#endif
if
(
setsockopt
(
c
->
fd
,
SOL_SOCKET
,
SO_RCVTIMEO
,
to_ptr
,
to_sz
)
==
-
1
)
{
__redisSetErrorFromErrno
(
c
,
REDIS_ERR_IO
,
"setsockopt(SO_RCVTIMEO)"
);
return
REDIS_ERR
;
}
if
(
setsockopt
(
c
->
fd
,
SOL_SOCKET
,
SO_SNDTIMEO
,
&
tv
,
sizeof
(
tv
)
)
==
-
1
)
{
if
(
setsockopt
(
c
->
fd
,
SOL_SOCKET
,
SO_SNDTIMEO
,
to_ptr
,
to_sz
)
==
-
1
)
{
__redisSetErrorFromErrno
(
c
,
REDIS_ERR_IO
,
"setsockopt(SO_SNDTIMEO)"
);
return
REDIS_ERR
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment