diff options
Diffstat (limited to 'source3/utils')
-rw-r--r-- | source3/utils/net.c | 36 |
1 files changed, 36 insertions, 0 deletions
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}, |