Linux Audio

Check our new training course

Loading...
v6.8
 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
v4.6
 
 1#ifndef __UML_LONGJMP_H
 2#define __UML_LONGJMP_H
 3
 4#include <sysdep/archsetjmp.h>
 5#include <os.h>
 6
 
 7extern int setjmp(jmp_buf);
 8extern void longjmp(jmp_buf, int);
 9
10#define UML_LONGJMP(buf, val) do { \
11	longjmp(*buf, val);	\
12} while(0)
13
14#define UML_SETJMP(buf) ({ \
15	int n;	   \
16	volatile int enable;	\
17	enable = get_signals(); \
18	n = setjmp(*buf); \
19	if(n != 0) \
20		set_signals(enable); \
21	n; })
22
23#endif