[ -z "$GLITE_LB_EXPORT_DUMPDIR" ] && GLITE_LB_EXPORT_DUMPDIR=/tmp/dump
purgedir="--dump-prefix $GLITE_LB_EXPORT_DUMPDIR"
- [ -d "$GLITE_LB_EXPORT_DUMPDIR" ] || mkdir "$GLITE_LB_EXPORT_DUMPDIR" && chown $GLITE_USER:$GLITE_GROUP "$GLITE_LB_EXPORT_DUMPDIR"
+ [ -d "$GLITE_LB_EXPORT_DUMPDIR" ] || mkdir -p "$GLITE_LB_EXPORT_DUMPDIR" && chown $GLITE_USER:$GLITE_GROUP -R "$GLITE_LB_EXPORT_DUMPDIR"
[ -z "$GLITE_LB_EXPORT_JPREG_MAILDIR" ] && GLITE_LB_EXPORT_JPREG_MAILDIR=/tmp/jpreg
maildir="--jpreg-dir $GLITE_LB_EXPORT_JPREG_MAILDIR"
- [ -d "$GLITE_LB_EXPORT_JPREG_MAILDIR" ] || mkdir "$GLITE_LB_EXPORT_JPREG_MAILDIR" && chown $GLITE_USER:$GLITE_GROUP "$GLITE_LB_EXPORT_JPREG_MAILDIR"
+ [ -d "$GLITE_LB_EXPORT_JPREG_MAILDIR" ] || mkdir -p "$GLITE_LB_EXPORT_JPREG_MAILDIR" && chown $GLITE_USER:$GLITE_GROUP -R "$GLITE_LB_EXPORT_JPREG_MAILDIR"
[ -z "$creds" ] && echo $0: WARNING: No credentials specified. Using default lookup which is dangerous. >&2
[ -n "$GLITE_LB_SERVER_PORT" ] && port="-p $GLITE_LB_SERVER_PORT"
+ [ -n "$GLITE_LB_SERVER_WPORT" ] && wport="-w $GLITE_LB_SERVER_WPORT"
+
+ [ -z "$GLITE_LB_NOTIF_SOCK" ] && GLITE_LB_NOTIF_SOCK="/tmp/glite-lb-notif.sock"
+ [ -z "$GLITE_LB_NOTIF_FPREFIX" ] && GLITE_LB_NOTIF_FPREFIX="/var/tmp/glite-lb-notif"
echo -n Starting glite-lb-bkserver ...
su - $GLITE_USER -c "$GLITE_LOCATION/bin/glite-lb-bkserverd \
- --notif-il-sock=/tmp/glite-lb-notif.sock \
- --notif-il-fprefix=/var/tmp/glite-lb-notif \
- $creds -i $pidfile $port $purgedir $maildir" \
+ --notif-il-sock=$GLITE_LB_NOTIF_SOCK \
+ --notif-il-fprefix=$GLITE_LB_NOTIF_FPREFIX \
+ $creds -i $pidfile $port $wport $purgedir $maildir" \
&& echo " done" || echo " FAILED"
echo -n Starting glite-lb-notif-interlogd ...
su - $GLITE_USER -c "$GLITE_LOCATION/bin/glite-lb-notif-interlogd \
- -f /var/tmp/glite-lb-notif -s /tmp/glite-lb-notif.sock \
+ -f $GLITE_LB_NOTIF_FPREFIX -s $GLITE_LB_NOTIF_SOCK \
$creds" && echo " done" || echo " FAILED"
}
{
retval=0
- if netstat -an --unix | grep "^unix .* LISTEN.* /tmp/glite-lb-notif.sock$" >/dev/null 2>&1 ;then
+ if netstat -an --unix | grep "^unix .* LISTEN.* ${GLITE_LB_NOTIF_SOCK}$" >/dev/null 2>&1 ;then
echo glite-lb-notif-interlogd running
else
echo glite-lb-notif-interlogd not running
int do_reconnect = 0;
struct timeval start,end;
int pid;
+#ifdef LBS_DB_PROFILE
+ static struct timeval sum = {
+ tv_sec: 0,
+ tv_usec: 0
+ };
+#endif
edg_wll_ResetError(ctx);
mysql_free_result(r);
}
#ifdef LBS_DB_PROFILE
+ pid = getpid();
gettimeofday(&end,NULL);
end.tv_usec -= start.tv_usec;
end.tv_sec -= start.tv_sec;
if (end.tv_usec < 0) { end.tv_sec--; end.tv_usec += 1000000; }
- pid = getpid();
- fprintf(stderr,"[%d] %s\n[%d] %3ld.%06ld\n",pid,txt,pid,end.tv_sec,end.tv_usec);
+ sum.tv_usec += end.tv_usec;
+ sum.tv_sec += end.tv_sec + sum.tv_usec / 1000000;
+ sum.tv_usec -= 1000000 * (sum.tv_usec / 1000000);
+ fprintf(stderr,"[%d] %s\n[%d] %3ld.%06ld (sum: %3ld.%06ld)\n",pid,txt,pid,end.tv_sec,end.tv_usec,sum.tv_sec,sum.tv_usec);
#endif
return mysql_affected_rows((MYSQL *) ctx->mysql);
#include "get_events.h"
#include "server_state.h"
-
-static int read_line(char **buff, int fd);
+static int read_line(char **buff, size_t *maxsize, int fd);
int edg_wll_LoadEvents(edg_wll_Context ctx,const edg_wll_LoadRequest *req,edg_wll_LoadResult *result)
{
int fd,
reject_fd = -1,
readret, i;
+ size_t maxsize;
char *line = NULL,
buff[30];
edg_wll_Event *event;
{
/* Read one line
*/
- if ( (readret = read_line(&line, fd)) == -1 )
+ if ( (readret = read_line(&line, &maxsize, fd)) == -1 )
return edg_wll_SetError(ctx, errno, "reading dump file");
if ( readret == 0 )
#define BUFFSZ 1024
-static int read_line(char **buff, int fd)
+static int read_line(char **buff, size_t *maxsize, int fd)
{
int ct, i;
+ void *tmp;
if ( *buff == NULL )
{
- *buff = malloc(BUFFSZ);
+ *buff = malloc(BUFFSZ);
if ( *buff == NULL )
return -1;
+ *maxsize = BUFFSZ;
}
i = 0;
while ( 1 )
{
+ if (i >= *maxsize) {
+ (*maxsize) *= 2;
+ if ((tmp = realloc(*buff, *maxsize)) == NULL) return -1;
+ *buff = (char *)tmp;
+ }
if ( (ct = read(fd, (*buff)+i, 1)) == -1 )
return -1;