{"translation":"https://translate-dev.freebsd.org/api/translations/freebsd-doc/articles_linux-emulation/en/?format=json","source":["Handling of traps in FreeBSD is similar to the handling of syscalls. Whenever a trap occurs, an assembler handler is called. It is chosen between alltraps, alltraps with regs pushed or calltrap depending on the type of the trap. This handler prepares arguments for a call to a C function <literal>trap()</literal> (defined in <filename>sys/i386/i386/trap.c</filename>), which then processes the occurred trap. After the processing it might send a signal to the process and/or exit to userland using <literal>userret()</literal>."],"previous_source":"","target":["Handling of traps in FreeBSD is similar to the handling of syscalls. Whenever a trap occurs, an assembler handler is called. It is chosen between alltraps, alltraps with regs pushed or calltrap depending on the type of the trap. This handler prepares arguments for a call to a C function <literal>trap()</literal> (defined in <filename>sys/i386/i386/trap.c</filename>), which then processes the occurred trap. After the processing it might send a signal to the process and/or exit to userland using <literal>userret()</literal>."],"id_hash":-4236131531189987556,"content_hash":-4236131531189987556,"location":"article.translate.xml:378","context":"","note":"(itstool) path: sect4/para","flags":"","labels":[],"state":100,"fuzzy":false,"translated":true,"approved":false,"position":63,"has_suggestion":false,"has_comment":false,"has_failing_check":false,"num_words":77,"source_unit":"https://translate-dev.freebsd.org/api/units/99460/?format=json","priority":100,"id":99460,"web_url":"https://translate-dev.freebsd.org/translate/freebsd-doc/articles_linux-emulation/en/?checksum=45363cd0fd96d71c","url":"https://translate-dev.freebsd.org/api/units/99460/?format=json","explanation":"","extra_flags":"","pending":false,"timestamp":"2019-10-20T12:10:38.763705Z"}