diff options
author | alfred <alfred@FreeBSD.org> | 2000-07-20 12:12:41 +0000 |
---|---|---|
committer | alfred <alfred@FreeBSD.org> | 2000-07-20 12:12:41 +0000 |
commit | fb96eed99671467b451b3b2d3db7695a5ce2ff9e (patch) | |
tree | f941d8c5f9dc88dfbc7992964b1bd1cfdeb8eaf8 /sys | |
parent | a749dd3647183bfdead2a092fd1c567dc9ec172e (diff) | |
download | FreeBSD-src-fb96eed99671467b451b3b2d3db7695a5ce2ff9e.zip FreeBSD-src-fb96eed99671467b451b3b2d3db7695a5ce2ff9e.tar.gz |
disallow unload until we do proper refcounting
Diffstat (limited to 'sys')
-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: |