| 495 | |
| 496 | |
| 497 | static void mod_destroy(void) |
| 498 | { |
| 499 | /* destroy data */ |
| 500 | if ( curr_data) { |
| 501 | if (*curr_data) |
| 502 | free_lb_data( *curr_data ); |
| 503 | shm_free( curr_data ); |
| 504 | curr_data = 0; |
| 505 | } |
| 506 | |
| 507 | /* destroy lock */ |
| 508 | if (ref_lock) { |
| 509 | lock_destroy_rw( ref_lock ); |
| 510 | ref_lock = 0; |
| 511 | } |
| 512 | |
| 513 | /* destroy blacklist structures */ |
| 514 | destroy_lb_bls(); |
| 515 | } |
| 516 | |
| 517 | |
| 518 | static int w_lb_next(struct sip_msg *req, pv_spec_t *attrs_var) |
nothing calls this directly
no test coverage detected