diff options
Diffstat (limited to 'src/util/service.c')
-rw-r--r-- | src/util/service.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/util/service.c b/src/util/service.c index 782adf5c5..c204f1f87 100644 --- a/src/util/service.c +++ b/src/util/service.c | |||
@@ -36,6 +36,30 @@ | |||
36 | #include "gauger.h" | 36 | #include "gauger.h" |
37 | #endif | 37 | #endif |
38 | 38 | ||
39 | //#if HAVE_EXECINFO_H | ||
40 | //#include "execinfo.h" | ||
41 | |||
42 | ///** | ||
43 | // * Use lsof to generate file descriptor reports on select error? | ||
44 | // * (turn off for stable releases). | ||
45 | // */ | ||
46 | //#define USE_LSOF GNUNET_NO | ||
47 | |||
48 | ///** | ||
49 | // * Obtain trace information for all scheduler calls that schedule tasks. | ||
50 | // */ | ||
51 | //#define EXECINFO GNUNET_NO | ||
52 | |||
53 | ///** | ||
54 | // * Check each file descriptor before adding | ||
55 | // */ | ||
56 | //#define DEBUG_FDS GNUNET_NO | ||
57 | |||
58 | ///** | ||
59 | // * Depth of the traces collected via EXECINFO. | ||
60 | // */ | ||
61 | //#define MAX_TRACE_DEPTH 50 | ||
62 | //#endif | ||
39 | 63 | ||
40 | #define LOG(kind,...) GNUNET_log_from (kind, "util-service", __VA_ARGS__) | 64 | #define LOG(kind,...) GNUNET_log_from (kind, "util-service", __VA_ARGS__) |
41 | 65 | ||
@@ -1932,6 +1956,11 @@ do_send (void *cls) | |||
1932 | size_t left; | 1956 | size_t left; |
1933 | const char *buf; | 1957 | const char *buf; |
1934 | 1958 | ||
1959 | LOG (GNUNET_ERROR_TYPE_DEBUG, | ||
1960 | "service: sending message with type %u", | ||
1961 | ntohs(client->msg->type)); | ||
1962 | |||
1963 | |||
1935 | client->send_task = NULL; | 1964 | client->send_task = NULL; |
1936 | buf = (const char *) client->msg; | 1965 | buf = (const char *) client->msg; |
1937 | left = ntohs (client->msg->size) - client->msg_pos; | 1966 | left = ntohs (client->msg->size) - client->msg_pos; |
@@ -1941,6 +1970,8 @@ do_send (void *cls) | |||
1941 | GNUNET_assert (ret <= (ssize_t) left); | 1970 | GNUNET_assert (ret <= (ssize_t) left); |
1942 | if (0 == ret) | 1971 | if (0 == ret) |
1943 | { | 1972 | { |
1973 | LOG (GNUNET_ERROR_TYPE_DEBUG, | ||
1974 | "no data send"); | ||
1944 | GNUNET_MQ_inject_error (client->mq, | 1975 | GNUNET_MQ_inject_error (client->mq, |
1945 | GNUNET_MQ_ERROR_WRITE); | 1976 | GNUNET_MQ_ERROR_WRITE); |
1946 | return; | 1977 | return; |
@@ -1958,6 +1989,9 @@ do_send (void *cls) | |||
1958 | if (EPIPE != errno) | 1989 | if (EPIPE != errno) |
1959 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, | 1990 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, |
1960 | "send"); | 1991 | "send"); |
1992 | LOG (GNUNET_ERROR_TYPE_DEBUG, | ||
1993 | "socket send returned with error code %i", | ||
1994 | errno); | ||
1961 | GNUNET_MQ_inject_error (client->mq, | 1995 | GNUNET_MQ_inject_error (client->mq, |
1962 | GNUNET_MQ_ERROR_WRITE); | 1996 | GNUNET_MQ_ERROR_WRITE); |
1963 | return; | 1997 | return; |
@@ -2518,6 +2552,20 @@ GNUNET_SERVICE_client_drop (struct GNUNET_SERVICE_Client *c) | |||
2518 | "Client dropped: %p (MQ: %p)\n", | 2552 | "Client dropped: %p (MQ: %p)\n", |
2519 | c, | 2553 | c, |
2520 | c->mq); | 2554 | c->mq); |
2555 | |||
2556 | //#if EXECINFO | ||
2557 | // void *backtrace_array[MAX_TRACE_DEPTH]; | ||
2558 | // int num_backtrace_strings = backtrace (backtrace_array, MAX_TRACE_DEPTH); | ||
2559 | // char **backtrace_strings = | ||
2560 | // backtrace_symbols (backtrace_array, | ||
2561 | // t->num_backtrace_strings); | ||
2562 | // for (unsigned int i = 0; i < num_backtrace_strings; i++) | ||
2563 | // LOG (GNUNET_ERROR_TYPE_DEBUG, | ||
2564 | // "client drop trace %u: %s\n", | ||
2565 | // i, | ||
2566 | // backtrace_strings[i]); | ||
2567 | //#endif | ||
2568 | |||
2521 | if (NULL != c->drop_task) | 2569 | if (NULL != c->drop_task) |
2522 | { | 2570 | { |
2523 | /* asked to drop twice! */ | 2571 | /* asked to drop twice! */ |