site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com On 7 juin 06, at 19:26, Josh Graessley wrote: Is there a way to find out if those mbufs are shared ? Jean-Yves _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.a... mbuf_len like mbuf_data works whether or not MBUF_EXT is set. MBUF_EXT just indicates that the actual implementation of the mbuf is storing the data in an external cluster and not in the mbuf data structure itself. The one reason this would be important to a client of the mbuf is the case where you may modify data. In some cases, the reference to the external cluster may be shared. If this is the case, you will need to duplicate the data before modifying it. Duplicate data means duplicate mbuf or the whole chain ? In my code (in sf_data_in and sf_data_out) , i check out if mbuf was tagged, in this case filter simply return, otherwise i set a tag for the mbuf and push it in a queue for re- injection. When timer is fired mbuf is retrieve from queue and the mbuf is processed. So, do i need to duplicate mbuf before tag ? before push it in queue ? or before re-injection ? This email sent to site_archiver@lists.apple.com
participants (1)
-
jy.cases@mac.com