From: Yann Ylavic Date: Fri, 17 Apr 2020 17:53:19 +0000 (+0000) Subject: gdbinit: print bucket fd when available. X-Git-Tag: 2.5.0-alpha2-ci-test-only~1509 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3366c057cfb1f7b0120bb947dd2ce1af7513d867;p=thirdparty%2Fapache%2Fhttpd.git gdbinit: print bucket fd when available. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1876679 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/.gdbinit b/.gdbinit index 2a3dddad35c..76ddc548dd0 100644 --- a/.gdbinit +++ b/.gdbinit @@ -151,18 +151,13 @@ define dump_bucket_ex print_bkt_datacol "rc" "n/%c" 'a' $sh else - if (($bucket->type == &apr_bucket_type_file) || \ - ($bucket->type == &apr_bucket_type_pipe) || \ - ($bucket->type == &apr_bucket_type_socket)) + if ($bucket->type == &apr_bucket_type_file) - # buckets that contain data not in memory (ie not printable) - - print_bkt_datacol "contents" "[**unprintable**%c" ']' $sh - printf " " - if $bucket->type == &apr_bucket_type_file - set $refcount = ((apr_bucket_refcount *)$bucket->data)->refcount - print_bkt_datacol "rc" "%d" $refcount $sh - end + # file bucket, can show fd and refcount + set $fd = ((apr_bucket_file*)$bucket->data)->fd->filedes + print_bkt_datacol "contents" "[***file***] fd=%-6ld" (long)$fd $sh + set $refcount = ((apr_bucket_refcount *)$bucket->data)->refcount + print_bkt_datacol "rc" "%d" $refcount $sh else if (($bucket->type == &apr_bucket_type_heap) || \ @@ -230,8 +225,27 @@ define dump_bucket_ex end else - # 3rd-party bucket type - print_bkt_datacol "contents" "[**unknown**%c" ']' $sh + if ($bucket->type == &apr_bucket_type_pipe) + + # pipe bucket, can show fd + set $fd = ((apr_file_t*)$bucket->data)->filedes; + print_bkt_datacol "contents" "[***pipe***] fd=%-6ld" (long)$fd $sh + + else + if ($bucket->type == &apr_bucket_type_socket) + + # file bucket, can show fd + set $fd = ((apr_socket_t*)$bucket->data)->socketdes; + print_bkt_datacol "contents" "[**socket**] fd=%-6ld" (long)$fd $sh + + else + + # 3rd-party bucket type + print_bkt_datacol "contents" "[**opaque**]%-10c" ' ' $sh + end + end + + # no refcount printf " " print_bkt_datacol "rc" "n/%c" 'a' $sh end