diff options
author | Anonymized <anonymous@example.com> | 2018-01-20 02:38:47 +0100 |
---|---|---|
committer | Anonymized <anonymous@example.com> | 2018-01-20 02:42:06 +0100 |
commit | 2034f421b3efe88e72cd626b36b74f453fdeaa66 (patch) | |
tree | 4f094ecf5170f0aee65a759398764c9b48c65e8c | |
parent | 59ee9129c87d5009648a2f9892c32c85d5115f72 (diff) | |
download | gnunet-guile2-2034f421b3efe88e72cd626b36b74f453fdeaa66.tar.gz gnunet-guile2-2034f421b3efe88e72cd626b36b74f453fdeaa66.zip |
gnunet: add scheduler-add-delayed.
And add timeout to 'gnunet-guile search'.
-rwxr-xr-x | gnunet-guile | 4 | ||||
-rw-r--r-- | gnunet.scm | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gnunet-guile b/gnunet-guile index ac37bfe..165fc88 100755 --- a/gnunet-guile +++ b/gnunet-guile | |||
@@ -178,10 +178,14 @@ Publish on gnunet FILE using CONFIGURATION using KEYWORDS. | |||
178 | ((eq? status %fs-status-search-error) | 178 | ((eq? status %fs-status-search-error) |
179 | (format #t "* Error searching: ~a\n" (fs-progress-info-search-error-message info)))))) | 179 | (format #t "* Error searching: ~a\n" (fs-progress-info-search-error-message info)))))) |
180 | 180 | ||
181 | (define (search/timeout) | ||
182 | (scheduler-shutdown)) | ||
183 | |||
181 | (define (search/task configuration uri) | 184 | (define (search/task configuration uri) |
182 | (lambda () | 185 | (lambda () |
183 | (let ((fs (fs-start configuration "gnunet-guile" search/progress))) | 186 | (let ((fs (fs-start configuration "gnunet-guile" search/progress))) |
184 | (let ((search-context (fs-search-start fs uri 1 %fs-search-option-none))) | 187 | (let ((search-context (fs-search-start fs uri 1 %fs-search-option-none))) |
188 | (scheduler-add-delayed (* 30 (expt 10 6)) search/timeout) | ||
185 | (scheduler-add-shutdown (search/task/shutdown search-context)))))) | 189 | (scheduler-add-shutdown (search/task/shutdown search-context)))))) |
186 | 190 | ||
187 | (define (search-exec configuration keywords) | 191 | (define (search-exec configuration keywords) |
@@ -242,6 +242,12 @@ The task will be run with the DEFAULT priority." | |||
242 | (let ((task (ffi:procedure->pointer ffi:void thunk '()))) | 242 | (let ((task (ffi:procedure->pointer ffi:void thunk '()))) |
243 | (func task ffi:%null-pointer))))) | 243 | (func task ffi:%null-pointer))))) |
244 | 244 | ||
245 | (define-public scheduler-add-delayed | ||
246 | (let ((func (util '* "GNUNET_SCHEDULER_add_delayed" ffi:uint64 '* '*))) | ||
247 | (lambda (timeout callback) | ||
248 | (func timeout | ||
249 | (ffi:procedure->pointer ffi:void (lambda _ (callback)) '(*)) | ||
250 | ffi:%null-pointer)))) | ||
245 | 251 | ||
246 | (define-public scheduler-shutdown | 252 | (define-public scheduler-shutdown |
247 | (let ((func (util ffi:void "GNUNET_SCHEDULER_shutdown"))) | 253 | (let ((func (util ffi:void "GNUNET_SCHEDULER_shutdown"))) |