Sophie

Sophie

distrib > CentOS > 6 > i386 > by-pkgid > cf93d8a8acdcc6fe2225039da0502495 > files > 228

kernel-doc-2.6.32-131.17.1.el6.centos.plus.noarch.rpm

<?xml version="1.0" encoding="ANSI_X3.4-1968" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968" /><title>debug_object_init</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="index.html" title="Debug objects life time" /><link rel="up" href="ch03.html" title="Chapter&#160;3.&#160;Debug functions" /><link rel="prev" href="re06.html" title="debug_object_free" /><link rel="next" href="ch03s03.html" title="debug_object_init_on_stack" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">debug_object_init</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="re06.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;3.&#160;Debug functions</th><td width="20%" align="right">&#160;<a accesskey="n" href="ch03s03.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="debug_object_init"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="debug_object_init"></a>debug_object_init</h2></div></div></div><p>
	This function is called whenever the initialization function
	of a real object is called.
      </p><p>
	When the real object is already tracked by debugobjects it is
	checked, whether the object can be initialized.  Initializing
	is not allowed for active and destroyed objects. When
	debugobjects detects an error, then it calls the fixup_init
	function of the object type description structure if provided
	by the caller. The fixup function can correct the problem
	before the real initialization of the object happens. E.g. it
	can deactivate an active object in order to prevent damage to
	the subsystem.
      </p><p>
	When the real object is not yet tracked by debugobjects,
	debugobjects allocates a tracker object for the real object
	and sets the tracker object state to ODEBUG_STATE_INIT. It
	verifies that the object is not on the callers stack. If it is
	on the callers stack then a limited number of warnings
	including a full stack trace is printk'ed. The calling code
	must use debug_object_init_on_stack() and remove the object
	before leaving the function which allocated it. See next
	section.
      </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="re06.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="ch03.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="ch03s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span>debug_object_free</span>&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;debug_object_init_on_stack</td></tr></table></div></body></html>