This is a difficult thing to search for due to its granularity, so I apologize if this is a repeat topic.
I am deploying an application with a dependency that returns the '3010' code to tell client to perform a Soft Reboot. The outcome I intended was for SCCM to install the dependency, wait for a reboot (as is the nature of the Soft Reboot to my knowledge) and then continue with the installation of the primary application after the user reboots.
However, in practice this is not what SCCM does. Instead, it seems that the notice for a Soft Reboot is acknowledged by the client, noted by the expected popup the user sees as well as the 'restart required' message in Software Center, but the deployment process continues on in the background with the installation of the primary application being deployed. It almost seems like a bug, but maybe this is the intended behavior of SCCM 2012. I just can't find any documentation anywhere that speaks to this.