+ /* FIXME: may leak generated children */
+ if ( nonvolatile == 0 ) {
+ for ( e_tmp = e; e_tmp != NULL; ) {
+ mp = ( monitor_entry_t * )e_tmp->e_private;
+ e = e_tmp;
+ e_tmp = mp->mp_next;
+ monitor_cache_release( mi, e );
+
+ if ( e_tmp == e_nonvolatile ) {
+ break;
+ }
+ }
+
+ } else {
+ monitor_cache_release( mi, e );
+ }
+