* Terminate a thread at module unload. The process that * initiated this is waiting for us to signal that we're gone; * wake it up and exit. We use the driver table lock to insure * we don't do the wakeup before they're waiting. There is no * race here because the waiter sleeps on the proc lock for the * thread so it gets notified at the right time because of an * extra wakeup that's done
| 1933 | * extra wakeup that's done in exit1(). |
| 1934 | */ |
| 1935 | static void |
| 1936 | crypto_finis(void *chan) |
| 1937 | { |
| 1938 | CRYPTO_DRIVER_LOCK(); |
| 1939 | wakeup_one(chan); |
| 1940 | CRYPTO_DRIVER_UNLOCK(); |
| 1941 | kproc_exit(0); |
| 1942 | } |
| 1943 | |
| 1944 | /* |
| 1945 | * Crypto thread, dispatches crypto requests. |
no test coverage detected