diff options
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/kern_accf.c | 9 | ||||
-rw-r--r-- | sys/kern/uipc_accf.c | 9 |
2 files changed, 18 insertions, 0 deletions
diff --git a/sys/kern/kern_accf.c b/sys/kern/kern_accf.c index 67f5152..e6b7d61 100644 --- a/sys/kern/kern_accf.c +++ b/sys/kern/kern_accf.c @@ -115,9 +115,18 @@ accept_filt_generic_mod_event(module_t mod, int event, void *data) break; case MOD_UNLOAD: + /* + * Do not support unloading yet. we don't keep track of refcounts + * and unloading an accept filter callback and then having it called + * is a bad thing. A simple fix would be to track the refcount + * in the struct accept_filter. + */ +#if 0 s = splnet(); error = accept_filt_del(accfp->accf_name); splx(s); +#endif + error = EOPNOTSUPP; break; case MOD_SHUTDOWN: diff --git a/sys/kern/uipc_accf.c b/sys/kern/uipc_accf.c index 67f5152..e6b7d61 100644 --- a/sys/kern/uipc_accf.c +++ b/sys/kern/uipc_accf.c @@ -115,9 +115,18 @@ accept_filt_generic_mod_event(module_t mod, int event, void *data) break; case MOD_UNLOAD: + /* + * Do not support unloading yet. we don't keep track of refcounts + * and unloading an accept filter callback and then having it called + * is a bad thing. A simple fix would be to track the refcount + * in the struct accept_filter. + */ +#if 0 s = splnet(); error = accept_filt_del(accfp->accf_name); splx(s); +#endif + error = EOPNOTSUPP; break; case MOD_SHUTDOWN: |