usted, or guile-glib throws for some other reason.  If &rsquo;proc&rsquo;
throws, say because of port errors, and the exception is not caught
locally, it will propagate out of g-main-loop-run.
</p>
<p>As an example of how to use a-sync-glib-write-watch, here is the
implementation of await-glib-put-bytevector:
</p><div class="example">
<pre class="example">(define (await-glib-put-bytevector await resume port bv)
  (define index 0)
  (define length (bytevector-length bv))
  (define fd (fileno port))
  (_throw