then
SAVE_CFLAGS=$CFLAGS
SAVE_LDFLAGS=$LDFLAGS
- PERL_CFLAGS=`$perl_interpreter -MExtUtils::Embed -e ccopts`
- PERL_LDFLAGS=`$perl_interpreter -MExtUtils::Embed -e ldopts`
+dnl ARCHFLAGS="" -> disable multi -arch on OSX (see Config_heavy.pl:fetch_string)
+ PERL_CFLAGS=`ARCHFLAGS="" $perl_interpreter -MExtUtils::Embed -e ccopts`
+ PERL_LDFLAGS=`ARCHFLAGS="" $perl_interpreter -MExtUtils::Embed -e ldopts`
CFLAGS="$CFLAGS $PERL_CFLAGS"
LDFLAGS="$LDFLAGS $PERL_LDFLAGS"
Submits a notification to the daemon which will then dispatch it to all plugins
which have registered for receiving notifications.
-The B<PUTNOTIF> if followed by a list of options which further describe the
-notification. The B<message> option is special in that it will consume the rest
-of the line as its value. The B<message>, B<severity>, and B<time> options are
-mandatory.
+The B<PUTNOTIF> command is followed by a list of options which further describe
+the notification. The B<message> option is special in that it will consume the
+rest of the line as its value. The B<message>, B<severity>, and B<time> options
+are mandatory.
Valid options are:
If the B<identifier> option is given only the specified values will be flushed.
This is meant to be used by graphing or displaying frontends which want to have
-the lastest values for a specific graph. Again, you can specify the
+the latest values for a specific graph. Again, you can specify the
B<identifier> option multiple times to flush several values. If this option is
not specified at all, all values will be flushed.
# define BYTE_ORDER _BYTE_ORDER
# elif defined(__BYTE_ORDER)
# define BYTE_ORDER __BYTE_ORDER
+# elif defined(__DARWIN_BYTE_ORDER)
+# define BYTE_ORDER __DARWIN_BYTE_ORDER
# endif
#endif
#ifndef BIG_ENDIAN
# define BIG_ENDIAN _BIG_ENDIAN
# elif defined(__BIG_ENDIAN)
# define BIG_ENDIAN __BIG_ENDIAN
+# elif defined(__DARWIN_BIG_ENDIAN)
+# define BIG_ENDIAN __DARWIN_BIG_ENDIAN
# endif
#endif
#ifndef LITTLE_ENDIAN
# define LITTLE_ENDIAN _LITTLE_ENDIAN
# elif defined(__LITTLE_ENDIAN)
# define LITTLE_ENDIAN __LITTLE_ENDIAN
+# elif defined(__DARWIN_LITTLE_ENDIAN)
+# define LITTLE_ENDIAN __DARWIN_LITTLE_ENDIAN
# endif
#endif
#ifndef BYTE_ORDER
else
sstrncpy (buffer, value, buffer_size);
}
+ /* DBI_TYPE_BINARY */
+ /* DBI_TYPE_DATETIME */
else
{
- ERROR ("dbi plugin: cdbi_result_get: Don't know how to handle "
- "source type %hu.", src_type);
+ const char *field_name;
+
+ field_name = dbi_result_get_field_name (res, index);
+ if (field_name == NULL)
+ field_name = "<unknown>";
+
+ ERROR ("dbi plugin: Column `%s': Don't know how to handle "
+ "source type %hu.",
+ field_name, src_type);
return (-1);
}
if (errno == EAGAIN || errno == EINTR) continue;
break;
}
- else if (len == 0) break; /* We've reached EOF */
+ else if (len == 0)
+ {
+ /* We've reached EOF */
+ NOTICE ("exec plugin: Program `%s' has closed STDERR.",
+ pl->exec);
+ close (fd_err);
+ FD_CLR (fd_err, &fdset);
+ highest_fd = fd;
+ fd_err = -1;
+ continue;
+ }
pbuffer_err[len] = '\0';
copy = fdset;
}
+ DEBUG ("exec plugin: exec_read_one: Waiting for `%s' to exit.", pl->exec);
if (waitpid (pl->pid, &status, 0) > 0)
pl->status = status;
pthread_mutex_unlock (&pl_lock);
close (fd);
- close (fd_err);
+ if (fd_err >= 0)
+ close (fd_err);
pthread_exit ((void *) 0);
return (NULL);
*/
static int network_set_ttl (const sockent_t *se, const struct addrinfo *ai)
{
+ DEBUG ("network plugin: network_set_ttl: network_config_ttl = %i;",
+ network_config_ttl);
+
if ((network_config_ttl < 1) || (network_config_ttl > 255))
return (-1);
- DEBUG ("ttl = %i", network_config_ttl);
-
if (ai->ai_family == AF_INET)
{
struct sockaddr_in *addr = (struct sockaddr_in *) ai->ai_addr;