It ‘s OK.
But in my opinion,here we just want to destroy the singleton.
to avoiding dangling pointer errors
release & set nil is the two step what we need to do.
So it is maybe  more sensible to add the code here.

also the other purgeXXX function always do release & set nil

e.g
void CCAnimationCache::purgeSharedAnimationCache(void)
{
    CC_SAFE_RELEASE_NULL(s_pSharedAnimationCache);
}