The R Project SVN R

Rev

Rev 6283 | Rev 53070 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6283 Rev 25646
Line 146... Line 146...
146
 
146
 
147
/* 
147
/* 
148
   This must be a macro, since we want setjmp working in the
148
   This must be a macro, since we want setjmp working in the
149
   calling environment
149
   calling environment
150
*/
150
*/
151
 
151
/*
152
#define sigsetjmp(jb, sm) (\
152
#define sigsetjmp(jb, sm) (\
153
               sm?sigprocmask(SIG_SETMASK,NULL,&jb->saved_mask):0,\
153
               sm?sigprocmask(SIG_SETMASK,NULL,&jb->saved_mask):0,\
154
               jb->mask_was_saved=sm,\
154
               jb->mask_was_saved=sm,\
155
               setjmp(jb->jmpbuf))
155
               setjmp(jb->jmpbuf))
156
 
156
 
-
 
157
we only currently use the case sm=0, so avoid compiler warnings by */
-
 
158
 
-
 
159
#define sigsetjmp(jb, sm) (jb->mask_was_saved=0, setjmp(jb->jmpbuf))
-
 
160
 
157
 
161
 
158
/* We can transform this in a function but ... */
162
/* We can transform this in a function but ... */
159
 
163
 
160
#define siglongjmp(jb, val) (((jb->mask_was_saved)?\
164
#define siglongjmp(jb, val) (((jb->mask_was_saved)?\
161
               sigprocmask(SIG_SETMASK, &jb->saved_mask, 0):0),\
165
               sigprocmask(SIG_SETMASK, &jb->saved_mask, 0):0),\