Linux Audio

Check our new training course

Loading...
v6.2
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#ifndef __UML_LONGJMP_H
 3#define __UML_LONGJMP_H
 4
 5#include <sysdep/archsetjmp.h>
 6#include <os.h>
 7
 8extern int signals_enabled;
 9extern int setjmp(jmp_buf);
10extern void longjmp(jmp_buf, int);
11
12#define UML_LONGJMP(buf, val) do { \
13	longjmp(*buf, val);	\
14} while(0)
15
16#define UML_SETJMP(buf) ({				\
17	int n, enable;					\
18	enable = *(volatile int *)&signals_enabled;	\
19	n = setjmp(*buf);				\
20	if(n != 0)					\
21		um_set_signals_trace(enable);		\
 
22	n; })
23
24#endif
v5.9
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#ifndef __UML_LONGJMP_H
 3#define __UML_LONGJMP_H
 4
 5#include <sysdep/archsetjmp.h>
 6#include <os.h>
 7
 
 8extern int setjmp(jmp_buf);
 9extern void longjmp(jmp_buf, int);
10
11#define UML_LONGJMP(buf, val) do { \
12	longjmp(*buf, val);	\
13} while(0)
14
15#define UML_SETJMP(buf) ({ \
16	int n;	   \
17	volatile int enable;	\
18	enable = get_signals(); \
19	n = setjmp(*buf); \
20	if(n != 0) \
21		set_signals_trace(enable); \
22	n; })
23
24#endif