[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r15636 - gnunet/src/util
From: |
gnunet |
Subject: |
[GNUnet-SVN] r15636 - gnunet/src/util |
Date: |
Wed, 15 Jun 2011 10:29:12 +0200 |
Author: toelke
Date: 2011-06-15 10:29:12 +0200 (Wed, 15 Jun 2011)
New Revision: 15636
Modified:
gnunet/src/util/scheduler.c
Log:
debug fds
Modified: gnunet/src/util/scheduler.c
===================================================================
--- gnunet/src/util/scheduler.c 2011-06-15 08:24:00 UTC (rev 15635)
+++ gnunet/src/util/scheduler.c 2011-06-15 08:29:12 UTC (rev 15636)
@@ -46,6 +46,11 @@
#define EXECINFO GNUNET_NO
/**
+ * Check each file descriptor before adding
+ */
+#define DEBUG_FDS GNUNET_NO
+
+/**
* Depth of the traces collected via EXECINFO.
*/
#define MAX_TRACE_DEPTH 50
@@ -1225,6 +1230,42 @@
t->num_backtrace_strings = backtrace(backtrace_array, MAX_TRACE_DEPTH);
t->backtrace_strings = backtrace_symbols(backtrace_array,
t->num_backtrace_strings);
#endif
+#ifdef DEBUG_FDS
+ if (-1 != rfd)
+ {
+ int flags = fcntl(rfd, F_GETFD);
+ if (flags == -1 && errno == EBADF)
+ {
+ GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Got invalid file descriptor
%d!\n", rfd);
+#if EXECINFO
+ int i;
+
+ for (i=0;i<t->num_backtrace_strings;i++)
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Trace: %s\n",
+ t->backtrace_strings[i]);
+#endif
+ GNUNET_assert(0);
+ }
+ }
+ if (-1 != wfd)
+ {
+ int flags = fcntl(wfd, F_GETFD);
+ if (flags == -1 && errno == EBADF)
+ {
+ GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Got invalid file descriptor
%d!\n", wfd);
+#if EXECINFO
+ int i;
+
+ for (i=0;i<t->num_backtrace_strings;i++)
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Trace: %s\n",
+ t->backtrace_strings[i]);
+#endif
+ GNUNET_assert(0);
+ }
+ }
+#endif
t->read_fd = rfd;
GNUNET_assert(wfd >= -1);
t->write_fd = wfd;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r15636 - gnunet/src/util,
gnunet <=