[SCM] Samba Shared Repository - branch master updated
Martin Schwenke
martins at samba.org
Mon Jan 22 10:12:02 UTC 2018
The branch, master has been updated
via 9daf40c talloc: Fix documentation typo
via 33c0f55 ctdb-tests: Avoid race condition in sock_daemon test 5
from ac9d528 docs: Remove prog_guide4.txt
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 9daf40c55af61081abca663c7250f103d5b2a0df
Author: Martin Schwenke <martin at meltin.net>
Date: Thu Jan 18 16:08:15 2018 +1100
talloc: Fix documentation typo
Signed-off-by: Martin Schwenke <martin at meltin.net>
Reviewed-by: Amitay Isaacs <amitay at gmail.com>
Autobuild-User(master): Martin Schwenke <martins at samba.org>
Autobuild-Date(master): Mon Jan 22 11:11:38 CET 2018 on sn-devel-144
commit 33c0f5599d93a34619c8f37945f79a6e399a1b5e
Author: Amitay Isaacs <amitay at gmail.com>
Date: Mon Jan 22 12:54:49 2018 +1100
ctdb-tests: Avoid race condition in sock_daemon test 5
This test fails when it takes more than 10s to run. This can occur
when the system is loaded and socket-wrapper is used.
Signed-off-by: Amitay Isaacs <amitay at gmail.com>
Reviewed-by: Martin Schwenke <martin at meltin.net>
-----------------------------------------------------------------------
Summary of changes:
ctdb/tests/src/sock_daemon_test.c | 26 +++++++++++++++++---------
lib/talloc/talloc.h | 2 +-
2 files changed, 18 insertions(+), 10 deletions(-)
Changeset truncated at 500 lines:
diff --git a/ctdb/tests/src/sock_daemon_test.c b/ctdb/tests/src/sock_daemon_test.c
index 5641d37..ebc0b85 100644
--- a/ctdb/tests/src/sock_daemon_test.c
+++ b/ctdb/tests/src/sock_daemon_test.c
@@ -668,7 +668,8 @@ static void test4(TALLOC_CTX *mem_ctx, const char *pidfile,
* Start daemon, multiple client connects, requests, disconnects
*/
-#define TEST5_MAX_CLIENTS 10
+#define TEST5_VALID_CLIENTS 10
+#define TEST5_MAX_CLIENTS 100
struct test5_pkt {
uint32_t len;
@@ -710,7 +711,8 @@ static void test5_client_callback(uint8_t *buf, size_t buflen,
state->done = true;
}
-static int test5_client(const char *sockpath, int id)
+static int test5_client(const char *sockpath, int id, pid_t pid_server,
+ pid_t *client_pid)
{
pid_t pid;
int fd[2];
@@ -760,7 +762,9 @@ static int test5_client(const char *sockpath, int id)
close(fd[0]);
state.fd = -1;
- sleep(10);
+ while (kill(pid_server, 0) == 0 || errno != ESRCH) {
+ sleep(1);
+ }
exit(0);
}
@@ -775,6 +779,7 @@ static int test5_client(const char *sockpath, int id)
close(fd[0]);
+ *client_pid = pid;
return ret;
}
@@ -788,12 +793,12 @@ static bool test5_connect(struct sock_client_context *client,
struct test5_server_state *state =
(struct test5_server_state *)private_data;
- if (state->num_clients == TEST5_MAX_CLIENTS) {
+ if (state->num_clients == TEST5_VALID_CLIENTS) {
return false;
}
state->num_clients += 1;
- assert(state->num_clients <= TEST5_MAX_CLIENTS);
+ assert(state->num_clients <= TEST5_VALID_CLIENTS);
return true;
}
@@ -925,6 +930,7 @@ static void test5(TALLOC_CTX *mem_ctx, const char *pidfile,
pid_t pid_server, pid;
int fd[2], ret, i;
ssize_t n;
+ pid_t client_pid[TEST5_MAX_CLIENTS];
pid = getpid();
@@ -968,16 +974,18 @@ static void test5(TALLOC_CTX *mem_ctx, const char *pidfile,
close(fd[0]);
- for (i=0; i<100; i++) {
- ret = test5_client(sockpath, i);
- if (i < TEST5_MAX_CLIENTS) {
+ for (i=0; i<TEST5_MAX_CLIENTS; i++) {
+ ret = test5_client(sockpath, i, pid_server, &client_pid[i]);
+ if (i < TEST5_VALID_CLIENTS) {
assert(ret == i+1);
} else {
assert(ret == 0);
}
}
- for (i=0; i<100; i++) {
+ for (i=TEST5_MAX_CLIENTS-1; i>=0; i--) {
+ kill(client_pid[i], SIGKILL);
+
pid = wait(&ret);
assert(pid != -1);
}
diff --git a/lib/talloc/talloc.h b/lib/talloc/talloc.h
index 618430a..dda308d 100644
--- a/lib/talloc/talloc.h
+++ b/lib/talloc/talloc.h
@@ -1226,7 +1226,7 @@ size_t talloc_array_length(const void *ctx);
*
* @code
* ptr = talloc_array(ctx, type, count);
- * if (ptr) memset(ptr, sizeof(type) * count);
+ * if (ptr) memset(ptr, 0, sizeof(type) * count);
* @endcode
*/
void *talloc_zero_array(const void *ctx, #type, unsigned count);
--
Samba Shared Repository
More information about the samba-cvs
mailing list