From d78e251e770718045d4007b77b654ecebabfa81e Mon Sep 17 00:00:00 2001 From: Diane Trout Date: Wed, 4 Apr 2012 14:51:38 -0700 Subject: [PATCH] Initial version of a utility to shove castors load into condor --- CMakeLists.txt | 4 +++ src/castor_load.c | 66 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 src/castor_load.c diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..54f2c7b --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,4 @@ +cmake_minimum_required(VERSION 2.6) +project(condor-woldlab) +add_executable(castor_load src/castor_load.c) + diff --git a/src/castor_load.c b/src/castor_load.c new file mode 100644 index 0000000..3c46e15 --- /dev/null +++ b/src/castor_load.c @@ -0,0 +1,66 @@ +#define _POSIX_SOURCE 1 + +#include +#include +#include +#include +#include +#include +#include +#include + +#define BUF_SIZE 512 + +int main(int argc, char **argv) { + int sock = 0; + int rv = 0; + int nread = 0; + struct addrinfo hints; + struct addrinfo *address; + struct addrinfo *addr_ptr; + char buf[BUF_SIZE]; + + memset(buf, 0, BUF_SIZE); + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_family = AF_INET; + hints.ai_socktype = SOCK_STREAM; + + + rv = getaddrinfo("castor-pvt", "1210", &hints, &address); + if (rv != 0) { + fprintf(stderr, "Error looking up hostname, %d\n", errno); + exit(-1); + } + + + for (addr_ptr = address; addr_ptr != NULL; addr_ptr = addr_ptr->ai_next) { + sock = socket(addr_ptr->ai_family, + addr_ptr->ai_socktype, + addr_ptr->ai_protocol); + if (sock == -1) { + continue; + } + + rv = connect(sock, addr_ptr->ai_addr, addr_ptr->ai_addrlen); + if (rv != -1) { + break; + } + close(sock); + } + if (addr_ptr == NULL) { + fprintf(stderr, "Could not connect\n"); + exit(-1); + } + + freeaddrinfo(address); + + nread = read(sock, buf, BUF_SIZE-1); + if (nread == -1) { + fprintf(stderr, "read error"); + exit(-1); + } + fprintf(stdout, "castor_load = %s", buf); + fprintf(stdout, "--\n"); + + exit(0); +} -- 2.30.2