Guía de seguimiento dinámico de Solaris

Acciones especiales

En esta sección, se describen las acciones que no son de registro de datos ni destructivas.

Acciones especulativas

Las acciones asociadas al seguimiento especulativo son speculate(), commit() y discard(). Estas acciones se describen en el Capítulo 13Seguimiento especulativo.

exit()

void exit(int status)

La acción exit() se utiliza para detener de forma inmediata el seguimiento e informar al consumidor de DTrace de que debería dejar de realizar el seguimiento, realizar el procesamiento final y llamar a exit(3C) con el estado especificado. Dado que exit() devuelve un estado a nivel de usuario, se trata de una acción de registro de datos. Sin embargo, a diferencia de otras acciones de almacenamiento de datos, no se puede realizar un seguimiento especulativo de exit(). exit() provocará que el consumidor de DTrace detenga el proceso independientemente de la directiva de memoria intermedia. Como exit() es una acción de registro de datos, puede descartarse.

Al llamar a exit(), sólo se completarán las acciones de DTrace en curso en otras CPU. No tendrá lugar ninguna nueva acción en ninguna CPU. La única excepción a esta regla es el procesamiento del sondeo END, al que se llamará una vez que el consumidor de DTrace haya procesado la acción exit() e indicado que debe detenerse el seguimiento.