summaryrefslogtreecommitdiffstats
path: root/libglusterfs/src/events.c
diff options
context:
space:
mode:
Diffstat (limited to 'libglusterfs/src/events.c')
-rw-r--r--libglusterfs/src/events.c197
1 files changed, 97 insertions, 100 deletions
diff --git a/libglusterfs/src/events.c b/libglusterfs/src/events.c
index 5a1b4c06e57..b1fa057b81e 100644
--- a/libglusterfs/src/events.c
+++ b/libglusterfs/src/events.c
@@ -25,112 +25,109 @@
#include "globals.h"
#include "events.h"
-
#define EVENT_HOST "127.0.0.1"
#define EVENT_PORT 24009
-
int
-_gf_event (eventtypes_t event, const char *fmt, ...)
+_gf_event(eventtypes_t event, const char *fmt, ...)
{
- int ret = 0;
- int sock = -1;
- char *eventstr = NULL;
- struct sockaddr_in server;
- va_list arguments;
- char *msg = NULL;
- glusterfs_ctx_t *ctx = NULL;
- char *host = NULL;
- struct addrinfo hints;
- struct addrinfo *result = NULL;
-
- /* Global context */
- ctx = THIS->ctx;
-
- if (event < 0 || event >= EVENT_LAST) {
- ret = EVENT_ERROR_INVALID_INPUTS;
- goto out;
- }
-
- /* Initialize UDP socket */
- sock = socket (AF_INET, SOCK_DGRAM, 0);
- if (sock < 0) {
- ret = EVENT_ERROR_SOCKET;
- goto out;
- }
-
- memset (&hints, 0, sizeof (hints));
- hints.ai_family = AF_UNSPEC;
-
- /* Get Host name to send message */
- if (ctx && ctx->cmd_args.volfile_server) {
- /* If it is client code then volfile_server is set
- use that information to push the events. */
- if ((getaddrinfo (ctx->cmd_args.volfile_server,
- NULL, &hints, &result)) != 0) {
- ret = EVENT_ERROR_RESOLVE;
- goto out;
- }
-
- if (get_ip_from_addrinfo (result, &host) == NULL) {
- ret = EVENT_ERROR_RESOLVE;
- goto out;
- }
- } else {
- /* Localhost, Use the defined IP for localhost */
- host = gf_strdup (EVENT_HOST);
+ int ret = 0;
+ int sock = -1;
+ char *eventstr = NULL;
+ struct sockaddr_in server;
+ va_list arguments;
+ char *msg = NULL;
+ glusterfs_ctx_t *ctx = NULL;
+ char *host = NULL;
+ struct addrinfo hints;
+ struct addrinfo *result = NULL;
+
+ /* Global context */
+ ctx = THIS->ctx;
+
+ if (event < 0 || event >= EVENT_LAST) {
+ ret = EVENT_ERROR_INVALID_INPUTS;
+ goto out;
+ }
+
+ /* Initialize UDP socket */
+ sock = socket(AF_INET, SOCK_DGRAM, 0);
+ if (sock < 0) {
+ ret = EVENT_ERROR_SOCKET;
+ goto out;
+ }
+
+ memset(&hints, 0, sizeof(hints));
+ hints.ai_family = AF_UNSPEC;
+
+ /* Get Host name to send message */
+ if (ctx && ctx->cmd_args.volfile_server) {
+ /* If it is client code then volfile_server is set
+ use that information to push the events. */
+ if ((getaddrinfo(ctx->cmd_args.volfile_server, NULL, &hints,
+ &result)) != 0) {
+ ret = EVENT_ERROR_RESOLVE;
+ goto out;
}
- /* Socket Configurations */
- server.sin_family = AF_INET;
- server.sin_port = htons (EVENT_PORT);
- server.sin_addr.s_addr = inet_addr (host);
- memset (&server.sin_zero, '\0', sizeof (server.sin_zero));
-
- va_start (arguments, fmt);
- ret = gf_vasprintf (&msg, fmt, arguments);
- va_end (arguments);
-
- if (ret < 0) {
- ret = EVENT_ERROR_INVALID_INPUTS;
- goto out;
- }
-
- ret = gf_asprintf (&eventstr, "%u %d %s",
- (unsigned)time(NULL), event, msg);
-
- if (ret <= 0) {
- ret = EVENT_ERROR_MSG_FORMAT;
- goto out;
+ if (get_ip_from_addrinfo(result, &host) == NULL) {
+ ret = EVENT_ERROR_RESOLVE;
+ goto out;
}
-
- /* Send Message */
- if (sendto (sock, eventstr, strlen (eventstr),
- 0, (struct sockaddr *)&server, sizeof (server)) <= 0) {
- ret = EVENT_ERROR_SEND;
- goto out;
- }
-
- ret = EVENT_SEND_OK;
-
- out:
- if (sock >= 0) {
- sys_close (sock);
- }
-
- /* Allocated by gf_vasprintf */
- if (msg)
- GF_FREE (msg);
-
- /* Allocated by gf_asprintf */
- if (eventstr)
- GF_FREE (eventstr);
-
- if (host)
- GF_FREE (host);
-
- if (result)
- freeaddrinfo (result);
-
- return ret;
+ } else {
+ /* Localhost, Use the defined IP for localhost */
+ host = gf_strdup(EVENT_HOST);
+ }
+
+ /* Socket Configurations */
+ server.sin_family = AF_INET;
+ server.sin_port = htons(EVENT_PORT);
+ server.sin_addr.s_addr = inet_addr(host);
+ memset(&server.sin_zero, '\0', sizeof(server.sin_zero));
+
+ va_start(arguments, fmt);
+ ret = gf_vasprintf(&msg, fmt, arguments);
+ va_end(arguments);
+
+ if (ret < 0) {
+ ret = EVENT_ERROR_INVALID_INPUTS;
+ goto out;
+ }
+
+ ret = gf_asprintf(&eventstr, "%u %d %s", (unsigned)time(NULL), event, msg);
+
+ if (ret <= 0) {
+ ret = EVENT_ERROR_MSG_FORMAT;
+ goto out;
+ }
+
+ /* Send Message */
+ if (sendto(sock, eventstr, strlen(eventstr), 0, (struct sockaddr *)&server,
+ sizeof(server)) <= 0) {
+ ret = EVENT_ERROR_SEND;
+ goto out;
+ }
+
+ ret = EVENT_SEND_OK;
+
+out:
+ if (sock >= 0) {
+ sys_close(sock);
+ }
+
+ /* Allocated by gf_vasprintf */
+ if (msg)
+ GF_FREE(msg);
+
+ /* Allocated by gf_asprintf */
+ if (eventstr)
+ GF_FREE(eventstr);
+
+ if (host)
+ GF_FREE(host);
+
+ if (result)
+ freeaddrinfo(result);
+
+ return ret;
}