| 373 | } |
| 374 | |
| 375 | void |
| 376 | PluginVC::do_io_close(int /* flag ATS_UNUSED */) |
| 377 | { |
| 378 | ink_assert(!closed); |
| 379 | ink_assert(magic == PLUGIN_VC_MAGIC_ALIVE); |
| 380 | |
| 381 | Dbg(dbg_ctl_pvc, "[%u] %s: do_io_close", core_obj->id, PVC_TYPE); |
| 382 | |
| 383 | SCOPED_MUTEX_LOCK(lock, mutex, this_ethread()); |
| 384 | if (!closed) { // if already closed, need to do nothing. |
| 385 | closed = true; |
| 386 | |
| 387 | // If re-entered then that earlier handler will clean up, otherwise set up a ping |
| 388 | // to drive that process (too dangerous to do it here). |
| 389 | if (reentrancy_count <= 0) { |
| 390 | setup_event_cb(0, &sm_lock_retry_event); |
| 391 | } |
| 392 | } |
| 393 | } |
| 394 | |
| 395 | void |
| 396 | PluginVC::do_io_shutdown(ShutdownHowTo_t howto) |
no test coverage detected