/[snmp1]/snmp1/with-timeout.lisp
ViewVC logotype

Contents of /snmp1/with-timeout.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations)
Tue Jan 2 23:49:58 2007 UTC (7 years, 3 months ago) by jriise
Branch: MAIN
CVS Tags: HEAD
First import of files to common-lisp.net
1 #|
2 SNMP1 - Simple Network Management Protocol for Common Lisp
3 Copyright (C) 2007 Johan Ur Riise
4
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU General Public License
7 as published by the Free Software Foundation; either version 2
8 of the License, or (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
18 |#
19 (in-package "SNMP1")
20 (shadow 'with-timeout)
21 (defmacro with-timeout (duration &rest forms)
22 (let ((timer (gensym "WITH-TIMEOUT-TIMER")))
23 `(LET ((,timer (MAKE-TIMER (LAMBDA () (CERROR "Continue" 'TIMEOUT)))))
24 (SCHEDULE-TIMER ,timer ,duration)
25 (UNWIND-PROTECT
26 (PROGN ,@forms )
27 (UNSCHEDULE-TIMER ,timer))))
28 )
29

  ViewVC Help
Powered by ViewVC 1.1.5