X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=cfg%2Fos.h;h=924daadea7f9c79e6e253b6d7fb00207186eebaf;hb=faed9d33b0a6bd6c2376e313fa3b73512c545caa;hp=41ce8a532933a648586f9a61ed3c7a89f24228fc;hpb=5f3952176a4e9a00ca8dd5ec4a6b994958f89e0a;p=bertos.git diff --git a/cfg/os.h b/cfg/os.h index 41ce8a53..924daade 100644 --- a/cfg/os.h +++ b/cfg/os.h @@ -1,8 +1,33 @@ /** * \file * * * \brief OS-specific definitions @@ -12,45 +37,6 @@ * \author Bernardo Innocenti */ -/*#* - *#* $Log$ - *#* Revision 1.11 2007/09/29 16:19:47 bernie - *#* Changes to compile with sparse. - *#* - *#* Revision 1.10 2006/07/19 12:56:25 bernie - *#* Convert to new Doxygen style. - *#* - *#* Revision 1.9 2006/03/22 13:34:34 bernie - *#* MSVC support. - *#* - *#* Revision 1.8 2006/02/23 09:09:28 bernie - *#* Remove Linux specific hack. - *#* - *#* Revision 1.7 2006/02/20 01:46:59 bernie - *#* Port to MacOSX. - *#* - *#* Revision 1.6 2006/02/15 09:12:33 bernie - *#* Don't mask useful user signals on UNIX. - *#* - *#* Revision 1.5 2005/11/27 23:32:42 bernie - *#* Add CPU fallback for OS_ID. - *#* - *#* Revision 1.4 2005/11/27 03:07:13 bernie - *#* IRQ_SAVE_DISABLE(): Really block signals. - *#* - *#* Revision 1.3 2005/11/27 03:02:40 bernie - *#* Add POSIX emulation for IRQ_* macros; Add Qt support. - *#* - *#* Revision 1.2 2005/11/04 16:20:01 bernie - *#* Fix reference to README.devlib in header. - *#* - *#* Revision 1.1 2005/04/11 19:04:13 bernie - *#* Move top-level headers to cfg/ subdir. - *#* - *#* Revision 1.1 2004/12/31 17:40:24 bernie - *#* Add OS detection code. - *#* - *#*/ #ifndef DEVLIB_OS_H #define DEVLIB_OS_H @@ -120,6 +106,14 @@ do { \ sigprocmask(SIG_SETMASK, &old_sigs, NULL); \ } while (0) + + #define IRQ_ENABLED() \ + ({ \ + sigset_t sigs; \ + sigprocmask(SIG_SETMASK, NULL, &sigs); \ + sigismember(&sigs, SIGALRM) ? false : true; \ + }) + #else #define OS_UNIX 0 #define OS_POSIX 0