diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2014-11-17 21:58:14 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2014-11-17 21:58:14 +0200 |
commit | f0671d1bc19592e5b659959920b51e3da05de79f (patch) | |
tree | b796d82e0ffe0f72fe0fc5b89ea7336653c826d7 /src | |
parent | 05fa31b7d7d1f23dde152341fc2f8149e66c40a5 (diff) | |
download | varnish-mib-f0671d1bc19592e5b659959920b51e3da05de79f.tar.gz varnish-mib-f0671d1bc19592e5b659959920b51e3da05de79f.tar.bz2 |
Check if vsm is abandoned, reopen if so.
Diffstat (limited to 'src')
-rw-r--r-- | src/varnish_mib.mib2c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/varnish_mib.mib2c b/src/varnish_mib.mib2c index 6df10ec..af56a0e 100644 --- a/src/varnish_mib.mib2c +++ b/src/varnish_mib.mib2c | |||
@@ -116,7 +116,14 @@ handle_$i(netsnmp_mib_handler *handler, | |||
116 | &{$vars{'varnish_translate'}}($vars{'i'}); | 116 | &{$vars{'varnish_translate'}}($vars{'i'}); |
117 | @endperl@ | 117 | @endperl@ |
118 | if (reqinfo->mode == MODE_GET) { | 118 | if (reqinfo->mode == MODE_GET) { |
119 | struct VSC_C_main const *st = VSC_Main(vd, NULL); | 119 | struct VSC_C_main const *st; |
120 | |||
121 | if (VSM_Abandoned(vd)) { | ||
122 | VSM_Close(vd); | ||
123 | VSM_Open(vd); | ||
124 | } | ||
125 | |||
126 | st = VSC_Main(vd, NULL); | ||
120 | if (!st) | 127 | if (!st) |
121 | return SNMP_ERR_NOSUCHNAME; | 128 | return SNMP_ERR_NOSUCHNAME; |
122 | snmp_set_var_typed_value(requests->requestvb, $i.type, | 129 | snmp_set_var_typed_value(requests->requestvb, $i.type, |
@@ -140,7 +147,7 @@ init_$modulename(void) | |||
140 | const oid ${i}_oid[] = { $i.commaoid }; | 147 | const oid ${i}_oid[] = { $i.commaoid }; |
141 | @end@ | 148 | @end@ |
142 | 149 | ||
143 | DEBUGMSGTL(("$name", "Initializing\n")); | 150 | DEBUGMSGTL(("$modulename", "Initializing\n")); |
144 | 151 | ||
145 | @foreach $i scalar@ | 152 | @foreach $i scalar@ |
146 | netsnmp_register_scalar( | 153 | netsnmp_register_scalar( |