epoch.9 (b3dfc51828e5c3a1fc61b461fa4aa7ae0adbf8a1) epoch.9 (24929e2cccdc62b19edb66d5f71c62562a051c8c)
1.\"
2.\" Copyright (C) 2018 Matthew Macy <mmacy@FreeBSD.org>.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\" notice(s), this list of conditions and the following disclaimer as

--- 171 unchanged lines hidden (view full) ---

180Thread 1 traverses the ifaddr list in an epoch.
181Thread 2 unlinks with the corresponding epoch safe macro, marks as logically free,
182and then defers deletion.
183More general mutation or a synchronous
184free would have to follow a call to
185.Fn epoch_wait .
186.Sh ERRORS
187None.
1.\"
2.\" Copyright (C) 2018 Matthew Macy <mmacy@FreeBSD.org>.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\" notice(s), this list of conditions and the following disclaimer as

--- 171 unchanged lines hidden (view full) ---

180Thread 1 traverses the ifaddr list in an epoch.
181Thread 2 unlinks with the corresponding epoch safe macro, marks as logically free,
182and then defers deletion.
183More general mutation or a synchronous
184free would have to follow a call to
185.Fn epoch_wait .
186.Sh ERRORS
187None.
188.Sh NOTES
189The
190.Nm
191kernel programming interface is under development and is subject to change.
188.El
189.Sh SEE ALSO
190.Xr locking 9 ,
191.Xr mtx_pool 9 ,
192.Xr mutex 9 ,
193.Xr rwlock 9 ,
194.Xr sema 9 ,
195.Xr sleep 9 ,
196.Xr sx 9 ,
197.Xr timeout 9
192.El
193.Sh SEE ALSO
194.Xr locking 9 ,
195.Xr mtx_pool 9 ,
196.Xr mutex 9 ,
197.Xr rwlock 9 ,
198.Xr sema 9 ,
199.Xr sleep 9 ,
200.Xr sx 9 ,
201.Xr timeout 9