diff options
author | Mark H Weaver <mhw@netris.org> | 2013-07-18 15:31:34 -0400 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2013-07-18 15:31:34 -0400 |
commit | f82f62944a4e605d385f40b5a4a01e19677bc0b3 (patch) | |
tree | 7fc4a887fd5033748dc1e9603052514e5e58f2ca /libguile/_scm.h | |
parent | 902a4e779da1193ff9097c23b40fbd44ab2df6a3 (diff) | |
parent | 824b9ad8b792ab42c5cc614d66462dfaab489075 (diff) | |
download | guile-f82f62944a4e605d385f40b5a4a01e19677bc0b3.tar.gz |
Merge remote-tracking branch 'origin/stable-2.0'
Diffstat (limited to 'libguile/_scm.h')
-rw-r--r-- | libguile/_scm.h | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/libguile/_scm.h b/libguile/_scm.h index 7dd188d33..1ec93fbb4 100644 --- a/libguile/_scm.h +++ b/libguile/_scm.h @@ -3,7 +3,8 @@ #ifndef SCM__SCM_H #define SCM__SCM_H -/* Copyright (C) 1995,1996,2000,2001, 2002, 2006, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 2000, 2001, 2002, 2006, 2008, 2009, 2010, + * 2011, 2013 Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -93,18 +94,17 @@ #ifdef vms # ifndef __GNUC__ # include <ssdef.h> -# define SCM_SYSCALL(line) \ - do \ - { \ - errno = 0; \ - line; \ - if (EVMSERR==errno && (vaxc$errno>>3)==(SS$_CONTROLC>>3)) \ - { \ - SCM_ASYNC_TICK; \ - continue; \ - } \ - } \ - while(0) +# define SCM_SYSCALL(line) \ + do \ + { \ + errno = 0; \ + line; \ + if (EVMSERR == errno && (vaxc$errno>>3)==(SS$_CONTROLC>>3)) \ + SCM_ASYNC_TICK; \ + else \ + break; \ + } \ + while (1) # endif /* ndef __GNUC__ */ #endif /* def vms */ #endif /* ndef SCM_SYSCALL */ @@ -112,18 +112,18 @@ #ifndef SCM_SYSCALL # ifdef EINTR # if (EINTR > 0) -# define SCM_SYSCALL(line) \ - do \ - { \ - errno = 0; \ - line; \ - if (errno == EINTR) \ - { \ - SCM_ASYNC_TICK; \ - continue; \ - } \ - } \ - while(0) +# define SCM_SYSCALL(line) \ + do \ + { \ + errno = 0; \ + line; \ + if (errno == EINTR) \ + { \ + SCM_ASYNC_TICK; \ + errno = EINTR; \ + } \ + } \ + while (errno == EINTR) # endif /* (EINTR > 0) */ # endif /* def EINTR */ #endif /* ndef SCM_SYSCALL */ |