summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
Diffstat (limited to 'source3')
-rwxr-xr-xsource3/script/tests/test_posix_s3.sh2
-rw-r--r--source3/utils/net.c36
2 files changed, 37 insertions, 1 deletions
diff --git a/source3/script/tests/test_posix_s3.sh b/source3/script/tests/test_posix_s3.sh
index 1fce6455fe..08aa043358 100755
--- a/source3/script/tests/test_posix_s3.sh
+++ b/source3/script/tests/test_posix_s3.sh
@@ -34,7 +34,7 @@ raw="$raw RAW-SFILEINFO RAW-SFILEINFO-BUG RAW-STREAMS RAW-UNLINK RAW-WRITE"
raw="$raw RAW-SAMBA3HIDE RAW-SAMBA3BADPATH"
rpc="RPC-AUTHCONTEXT RPC-BINDSAMBA3 RPC-NETLOGSAMBA3 RPC-SAMBA3SESSIONKEY"
-rpc="$rpc RPC-SAMBA3-SRVSVC"
+rpc="$rpc RPC-SAMBA3-SRVSVC RPC-SAMBA3-GETUSERNAME"
tests="$base $raw $rpc"
diff --git a/source3/utils/net.c b/source3/utils/net.c
index 8b4fb042fc..b09b46d6af 100644
--- a/source3/utils/net.c
+++ b/source3/utils/net.c
@@ -796,9 +796,45 @@ static int net_maxrid(int argc, const char **argv)
return 0;
}
+#include "/data/pth-2.0.7/include/pth.h"
+
+static void *thread_routine(void *arg)
+{
+ d_printf("In thread\n");
+ return arg;
+}
+
+static int net_pthtest(int argc, const char **argv)
+{
+ int res;
+ void *x;
+ pth_t t;
+ pth_attr_t t_attr;
+
+ if ((res = pth_init()) < 0) {
+ d_printf("pth_init failed: %d\n", res);
+ return -1;
+ }
+
+ t_attr = pth_attr_new();
+
+ if (!(t = pth_spawn(t_attr, thread_routine, &res))) {
+ d_printf("pth_spawn failed\n");
+ return -1;
+ }
+
+ if ((res = pth_join(t, &x)) < 0) {
+ d_printf("pth_join failed\n");
+ return -1;
+ }
+
+ return 0;
+}
+
/* main function table */
static struct functable net_func[] = {
{"RPC", net_rpc},
+ {"PTH", net_pthtest},
{"RAP", net_rap},
{"ADS", net_ads},