projects
/
awesomized
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
Remove the need for the custom SPHINXBUILD plugin.
[awesomized/libmemcached]
/
memcached
/
testapp.c
diff --git
a/memcached/testapp.c
b/memcached/testapp.c
index aba0b90519b78d9726be67ebaf1a1083ecae4bb8..9faccf4e11cc2fe0e59600a31d82cb490ce2481a 100644
(file)
--- a/
memcached/testapp.c
+++ b/
memcached/testapp.c
@@
-382,8
+382,8
@@
static pid_t start_server(in_port_t *port_out, bool daemon, int timeout) {
if (daemon) {
/* loop and wait for the pid file.. There is a potential race
* condition that the server just created the file but isn't
if (daemon) {
/* loop and wait for the pid file.. There is a potential race
* condition that the server just created the file but isn't
- * finished writing the content,
but I'll take the chance....
- */
+ * finished writing the content,
so we loop a few times
+ *
reading as well *
/
while (access(pid_file, F_OK) == -1) {
usleep(10);
}
while (access(pid_file, F_OK) == -1) {
usleep(10);
}
@@
-394,7
+394,11
@@
static pid_t start_server(in_port_t *port_out, bool daemon, int timeout) {
strerror(errno));
assert(false);
}
strerror(errno));
assert(false);
}
- assert(fgets(buffer, sizeof(buffer), fp) != NULL);
+
+ /* Avoid race by retrying 20 times */
+ for (int x = 0; x < 20 && fgets(buffer, sizeof(buffer), fp) == NULL; x++) {
+ usleep(10);
+ }
fclose(fp);
int32_t val;
fclose(fp);
int32_t val;