ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Guard/Guard.pm
(Generate patch)

Comparing Guard/Guard.pm (file contents):
Revision 1.10 by root, Sat Dec 13 18:50:31 2008 UTC vs.
Revision 1.11 by root, Sat Dec 13 18:51:19 2008 UTC

133 133
134The advantage of doing this with a guard instead of simply calling C<< 134The advantage of doing this with a guard instead of simply calling C<<
135$sem->down >> in the callback is that you can opt not to create the timer, 135$sem->down >> in the callback is that you can opt not to create the timer,
136or your code can throw an exception before it can create the timer, or you 136or your code can throw an exception before it can create the timer, or you
137can create multiple timers or other event watchers and only when the last 137can create multiple timers or other event watchers and only when the last
138one gets executed will the lock be unlocked. 138one gets executed will the lock be unlocked. Using the C<guard>, you do
139not have to worry about catching all the places where you have to unlock
140the semaphore.
139 141
140=item Guard::cancel $guard 142=item Guard::cancel $guard
141 143
142Calling this function will "disable" the guard object returned by the 144Calling this function will "disable" the guard object returned by the
143C<guard> function, i.e. it will free the BLOCK originally passed to 145C<guard> function, i.e. it will free the BLOCK originally passed to

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines