IOService *inProvider,
int inIntIndex)
{
- return 0;
+ return NULL;
}
bool
if (me
&& !me->init(inOwner, inAction, inFilterAction, inProvider, inIntIndex)) {
me->release();
- return 0;
+ return NULL;
}
return me;
FilterBlock filter = Block_copy(inFilterAction);
if (!filter) {
- return 0;
+ OSSafeReleaseNULL(me);
+ return NULL;
}
if (me
&& !me->init(inOwner, (Action) NULL, (Filter) filter, inProvider, inIntIndex)) {
me->release();
Block_release(filter);
- return 0;
+ return NULL;
}
me->flags |= kFilterBlock;
me->setActionBlock((IOEventSource::ActionBlock) inAction);
}
if (IOInterruptEventSource::reserved->statistics) {
- if (IA_GET_STATISTIC_ENABLED(kInterruptAccountingFirstLevelTimeIndex)) {
+ if (IA_GET_STATISTIC_ENABLED(kInterruptAccountingFirstLevelTimeIndex)
+ || IOInterruptEventSource::reserved->statistics->enablePrimaryTimestamp) {
startTime = mach_absolute_time();
}
+ if (IOInterruptEventSource::reserved->statistics->enablePrimaryTimestamp) {
+ IOInterruptEventSource::reserved->statistics->primaryTimestamp = startTime;
+ }
}
// Call the filter.
}
if (IOInterruptEventSource::reserved->statistics) {
- if (IA_GET_STATISTIC_ENABLED(kInterruptAccountingFirstLevelTimeIndex)) {
+ if (IA_GET_STATISTIC_ENABLED(kInterruptAccountingFirstLevelTimeIndex)
+ || IOInterruptEventSource::reserved->statistics->enablePrimaryTimestamp) {
startTime = mach_absolute_time();
}
+ if (IOInterruptEventSource::reserved->statistics->enablePrimaryTimestamp) {
+ IOInterruptEventSource::reserved->statistics->primaryTimestamp = startTime;
+ }
}
// Call the filter.